Bcrypt je funkcia hashovania hesiel navrhnutá tak, aby bola pomalá a výpočtovo náročná, čo ju robí odolnou voči útokom hrubou silou. Je to priemyselný štandard pre bezpečné ukladanie hesiel.
Ako Bcrypt funguje
Bcrypt používa šifru Blowfish so soľou a faktorom nákladov. Faktor nákladov (kolá) určuje, koľko iterácií algoritmus vykoná - každý prírastok zdvojnásobí výpočtový čas, čo robí útoky exponenciálne ťažšími.
Prečo používať Bcrypt?
Na rozdiel od MD5/SHA, ktoré sú rýchle (zlé pre heslá), bcrypt je zámerne pomalý. To robí útoky hrubou silou nepraktickými. Náklady 10 znamenajú 2^10 (1 024) iterácií, čo trvá ~100 ms na hashovanie - zanedbateľné pre prihlásenie, ale ničivé pre útočníkov skúšajúcich miliardy hesiel.
Najlepšie bezpečnostné postupy
Používajte náklady 10-12 pre väčšinu aplikácií. Náklady 10 sú aktuálne odporúčané minimum. Nikdy nepoužívajte MD5 alebo SHA-1 pre heslá - sú prelomené. Nikdy neukladajte heslá v obyčajnom texte. Vždy používajte bcrypt, Argon2 alebo scrypt pre hashovanie hesiel.