bcrypt to algorytm hashowania haseł zaprojektowany tak, aby był celowo powolny. Dodaje do hasła losową sól i ma regulowany koszt, dzięki czemu zgadywanie haseł z wykradzionej bazy jest bardzo kosztowne.
Czym bcrypt różni się od zwykłego hasha?
Funkcje takie jak MD5 czy SHA-256 są szybkie, więc atakujący sprawdza miliardy haseł na sekundę. bcrypt jest wolny z założenia, a jego koszt (liczbę rund) można zwiększać wraz z mocą komputerów.
Jak bcrypt używa soli?
Dla każdego hasła generowana jest unikalna sól, która trafia do gotowego hasha. Dwa identyczne hasła dają różne skróty, a gotowe tablice skrótów (rainbow tables) przestają być użyteczne.
Jak używać bcrypt w praktyce?
W PHP służą do tego funkcje password_hash() i password_verify(), w innych językach dostępne są gotowe biblioteki. Ustaw koszt tak, aby jedno hashowanie trwało ułamek sekundy, i nie wymyślaj własnych schematów.
Parametr kosztu można zwiększać wraz z mocą sprzętu.
