DevTulz Online

Bcrypt ജനറേറ്ററും വേരിഫയറും

10
കൂടുതൽ = കൂടുതൽ സുരക്ഷിതം പക്ഷേ പതുക്കെ

Bcrypt എന്താണ്?

Bcrypt സുരക്ഷയ്ക്കായി രൂപകൽപ്പന ചെയ്ത ഒരു പാസ്‌വേർഡ്-ഹാഷിംഗ് ഫംഗ്‌ഷനാണ്. വേഗത്തിലുള്ള ഹാഷ് ഫംഗ്‌ഷനുകളിൽ നിന്ന് (MD5, SHA-1) വ്യത്യസ്തമായി, bcrypt കോൺഫിഗർ ചെയ്യാവുന്ന കോസ്റ്റ് ഫാക്ടർ വഴി ബോധപൂർവം സ്ലോ ആണ് — brute-force ആക്രമണങ്ങൾ അപ്രായോഗികമാക്കുന്നു. ഓരോ ഹാഷും ഒരു റാൻഡം salt ഉൾക്കൊള്ളുന്നു, അതിനാൽ ഒരേ പാസ്‌വേർഡുകൾ വ്യത്യസ്ത ഹാഷുകൾ ഉണ്ടാക്കുന്നു. കോസ്റ്റ് ഫാക്ടർ (റൗണ്ടുകൾ) ഓരോ വർദ്ധനയ്ക്കും കണക്കുകൂട്ടൽ സമയം ഇരട്ടിയാക്കുന്നു: cost 10 ഏകദേശം 100ms, cost 12 ഏകദേശം 400ms, cost 14 ഏകദേശം 1.5s. ഒരിക്കലും plain text പാസ്‌വേർഡുകൾ സ്റ്റോർ ചെയ്യരുത് — എല്ലായ്‌പ്പോഴും bcrypt അല്ലെങ്കിൽ സമാനമായ adaptive ഫംഗ്‌ഷൻ ഉപയോഗിച്ച് ഹാഷ് ചെയ്യുക.

Bcrypt ജനറേറ്റർ എങ്ങനെ ഉപയോഗിക്കണം

  1. 'Hash' ടാബിൽ പാസ്‌വേർഡ് നൽകി കോസ്റ്റ് ഫാക്ടർ തിരഞ്ഞെടുക്കുക (മിക്ക ആപ്ലിക്കേഷനുകൾക്കും 10–12 ശുപാർശ ചെയ്യുന്നു).

  2. 'Hash ജനറേറ്റ് ചെയ്യുക' ക്ലിക്ക് ചെയ്യുക — bcrypt hash താഴെ കാണിക്കുന്നു, ഡേറ്റാബേസിൽ സ്റ്റോർ ചെയ്യാൻ തയ്യാർ.

  3. നിലവിലുള്ള ഹാഷിനെതിരെ പാസ്‌വേർഡ് പരിശോധിക്കാൻ, 'പരിശോധിക്കുക' ടാബിലേക്ക് മാറുക.

  4. Plain-text പാസ്‌വേർഡും സ്റ്റോർ ചെയ്ത bcrypt hash ഉം നൽകി 'പരിശോധിക്കുക' ക്ലിക്ക് ചെയ്യുക.

  5. പച്ച ചെക്ക്‌മാർക്ക് പൊരുത്തം സ്ഥിരീകരിക്കുന്നു; ചുവപ്പ് എന്നാൽ പാസ്‌വേർഡ് തെറ്റ്.

പതിവായി ചോദിക്കപ്പെടുന്ന ചോദ്യങ്ങൾ

ഞാൻ ഏത് കോസ്റ്റ് ഫാക്ടർ ഉപയോഗിക്കണം? മിക്ക വെബ് ആപ്ലിക്കേഷനുകൾക്കും, 10–12 ന്റെ കോസ്റ്റ് ഫാക്ടർ സുരക്ഷയും പ്രകടനവും ഇടയിൽ നല്ല ബാലൻസ് ആണ്. കോസ്റ്റ് 10 (~100ms) ഏറ്റവും കുറഞ്ഞ ശുപാർശിത മൂല്യമാണ്. ഉയർന്ന മൂല്യമുള്ള അക്കൗണ്ടുകൾക്കായി 12 (~400ms) ഉപയോഗിക്കുക. 10 ന് താഴെ പോകുന്നത് ഒഴിവാക്കുക, കാരണം ഇത് brute-force ആക്രമണങ്ങളെ വേഗത്തിലാക്കുന്നു.

ഒരേ പാസ്‌വേഡിന്റെ രണ്ട് ഹാഷുകൾ വ്യത്യസ്തമായി കാണപ്പെടുന്നത് എന്തുകൊണ്ട്? Bcrypt ഓരോ ഹാഷിനുമായി ഒരു ക്രമരഹിത 22-അക്ഷര salt സ്വയമായി സൃഷ്ടിക്കുകയും ഇത് output-ൽ ഉൾപ്പെടുത്തുകയും ചെയ്യുന്നു. ഇതിനർത്ഥം ഒരേ പാസ്‌വേഡ് രണ്ടുതവണ hash ചെയ്താൽ വ്യത്യസ്ത സ്ട്രിംഗുകൾ സൃഷ്ടിക്കപ്പെടും, ഇത് ഡിസൈനിൻറെ ഭാഗമാണ് — ഇത് rainbow table ആക്രമണങ്ങൾ തടയുന്നു.

bcrypt hash string format എന്താണ് അർത്ഥമാക്കുന്നത്? ഒരു bcrypt hash $2b$12$SaltSaltSaltSaltSaltSaHashHashHashHashHashHashHashHas പോലെ കാണപ്പെടുന്നു. $2b$ എന്നത് algorithm version ആണ്, $12$ എന്നത് cost factor ആണ്, തുടർന്ന് 22 അക്ഷരത്തിന്റെ base64-encoded salt ഉം 31 അക്ഷരത്തിന്റെ hash ഉം വരുന്നു.

എന്റെ ഡാറ്റാബേസിൽ നിന്നുള്ള പാസ്‌വേഡുകൾ പരിശോധിക്കാൻ എനിക്ക് ഇത് ഉപയോഗിക്കാം? അതെ. നിങ്ങളുടെ ഡാറ്റാബേസിൽ നിന്ന് സംരക്ഷിത bcrypt hash ഉം plain-text പാസ്‌വേഡും Verify ടാബിലേക്ക് പേസ്റ്റ് ചെയ്യുക. ഉപകരണം അവ പൊരുത്തപ്പെടുന്നുണ്ടോ എന്ന് സ്ഥിരീകരിക്കും, ഇത് വികസന സമയത്ത് ലോഗിൻ പ്രശ്നങ്ങൾ ഡീബഗ് ചെയ്യാൻ ഉപയോഗപ്രദമാണ്.

Keywords: bcrypt ജനറേറ്റർ, bcrypt hash ഓൺലൈൻ, bcrypt വേരിഫയർ, പാസ്‌വേർഡ് ഹാഷിംഗ്, bcrypt കോസ്റ്റ് ഫാക്ടർ, പാസ്‌വേർഡ് bcrypt ഹാഷ്, bcrypt ചെക്കർ