Bcrypt to funkcja hashowania haseł zaprojektowana, aby być wolna i kosztowna obliczeniowo, co czyni ją odporną na ataki brute-force. Jest to standard branżowy dla bezpiecznego przechowywania haseł.
Jak działa Bcrypt
Bcrypt używa szyfru Blowfish z solą i czynnikiem kosztu. Czynnik kosztu (rundy) określa, ile iteracji wykonuje algorytm - każdy wzrost podwaja czas obliczeń, czyniąc ataki wykładniczo trudniejszymi.
Dlaczego używać Bcrypt?
W przeciwieństwie do MD5/SHA, które są szybkie (złe dla haseł), bcrypt jest celowo wolny. To sprawia, że ataki brute-force są niepraktyczne. Koszt 10 oznacza 2^10 (1024) iteracji, co zajmuje ~100ms na hashowanie - nieistotne dla logowania, ale niszczące dla atakujących próbujących miliardy haseł.
Najlepsze praktyki bezpieczeństwa
Używaj kosztu 10-12 dla większości aplikacji. Koszt 10 to aktualnie zalecane minimum. Nigdy nie używaj MD5 ani SHA-1 do haseł - są złamane. Nigdy nie przechowuj haseł w postaci zwykłego tekstu. Zawsze używaj bcrypt, Argon2 lub scrypt do hashowania haseł.