A Bcrypt egy jelszó hash-elő függvény, amelyet úgy terveztek, hogy lassú és számításilag költséges legyen, így ellenállóvá teszi a brute-force támadásokkal szemben. Ez az iparági szabvány a jelszavak biztonságos tárolására.
Hogyan működik a Bcrypt
A Bcrypt a Blowfish titkosítást használja sóval és költségtényezővel. A költségtényező (körök) meghatározza, hány iterációt hajt végre az algoritmus - minden növekmény megduplázza a számítási időt, így a támadások exponenciálisan nehezebbé válnak.
Miért használjuk a Bcrypt-et?
Ellentétben az MD5/SHA-val, amelyek gyorsak (rossz jelszavakhoz), a bcrypt szándékosan lassú. Ez teszi a brute-force támadásokat gyakorlatilag kivitelezhetetlenné. A 10-es költség 2^10 (1024) iterációt jelent, amely ~100ms-ot vesz igénybe a hash-eléshez - elhanyagolható a bejelentkezéshez, de pusztító a támadóknak, akik milliárdnyi jelszót próbálnak ki.
Legjobb biztonsági gyakorlatok
Használjon 10-12-es költséget a legtöbb alkalmazáshoz. A 10-es költség a jelenlegi ajánlott minimum. Soha ne használjon MD5-öt vagy SHA-1-et jelszavakhoz - feltörték őket. Soha ne tároljon sima szöveges jelszavakat. Mindig használjon bcrypt-et, Argon2-t vagy scrypt-et a jelszó hash-eléshez.