Bcrypt je funkce pro hashování hesel navržená tak, aby byla pomalá a výpočetně náročná, což ji činí odolnou proti útokům hrubou silou. Je to průmyslový standard pro bezpečné ukládání hesel.
Jak Bcrypt funguje
Bcrypt používá šifru Blowfish se solí a faktorem nákladů. Faktor nákladů (kola) určuje, kolik iterací algoritmus provede - každý přírůstek zdvojnásobí výpočetní čas, což činí útoky exponenciálně těžšími.
Proč používat Bcrypt?
Na rozdíl od MD5/SHA, které jsou rychlé (špatné pro hesla), je bcrypt záměrně pomalý. To činí útoky hrubou silou nepraktickými. Náklady 10 znamenají 2^10 (1 024) iterací, což trvá ~100 ms na hashování - zanedbatelné pro přihlášení, ale zničující pro útočníky zkoušející miliardy hesel.
Nejlepší bezpečnostní postupy
Používejte náklady 10-12 pro většinu aplikací. Náklady 10 jsou aktuální doporučené minimum. Nikdy nepoužívejte MD5 nebo SHA-1 pro hesla - jsou prolomeny. Nikdy neukládejte hesla v prostém textu. Vždy používejte bcrypt, Argon2 nebo scrypt pro hashování hesel.