Bcrypt — hash i weryfikacja
Hashuj hasła bcryptem i sprawdzaj hashe względem tekstu jawnego
O tym narzędziu
Zahashuj hasło bcryptem przy wybranym współczynniku kosztu albo sprawdź tekst jawny wobec istniejącego hasha — jedno i drugie w całości w przeglądarce, czyli dokładnie tak, jak chcesz, gdy badaną rzeczą jest hasło. Inspektor hashy rozbija też dowolny hash bcrypt na wersję, koszt i sól.
Bcrypt pozostaje solidnym wyborem do przechowywania haseł, bo jest celowo wolny i solony osobno dla każdego hasła: współczynnik kosztu podwaja pracę z każdym krokiem, więc koszt 12 oznacza 4096 iteracji konfiguracji szyfru pod spodem. Odczyt czasu pokazuje, ile trwa wybrany przez Ciebie koszt, przez co kompromis bezpieczeństwo/opóźnienie staje się namacalny.
Częstszą codzienną potrzebą jest weryfikacja: potwierdzenie, że hash z bazy odpowiada znanemu hasłu, bez uruchamiania kodu aplikacji. Wklej jedno i drugie, dostań tak albo nie.
Często zadawane pytania
- Jakiego współczynnika kosztu używać na produkcji?
- Klasyczna wskazówka: tak wysokiego, na jaki pozwala Twój budżet opóźnienia logowania, dziś zwykle 10–13. Celuj w 100–300 ms na hash na sprzęcie produkcyjnym. JavaScript w przeglądarce działa wolniej niż kod natywny, więc czas pokazany tutaj jest górnym ograniczeniem dla Twoich serwerów.
- Dlaczego to samo hasło daje za każdym razem inny hash?
- Do każdego hasha generowana jest losowa 16-bajtowa sól, zapisywana wewnątrz samego ciągu hasha. Tak ma być — identyczne hasła dostają różne hashe, co unieważnia gotowe tęczowe tablice. Weryfikacja odczytuje sól z powrotem z hasha, dlatego porównanie w ogóle działa.
- Co oznaczają części hasha bcrypt?
- $2b$12$ + 53 znaki: 2b to wersja algorytmu, 12 to koszt (2^12 iteracji), kolejne 22 znaki to sól, a ostatnie 31 to skrót — wszystko w bcryptowym wariancie base64. Inspektor pod narzędziem rozbija w ten sposób dowolny hash.
- Czy bcrypt jest nadal zalecany zamiast Argon2?
- Argon2id jest dziś pierwszym wyborem dla nowych systemów (twardość pamięciowa utrudnia łamanie na GPU). Bcrypt pozostaje akceptowalny i wszechobecny — praktyczna rada brzmi: nie migruj w panice działającego magazynu bcrypt, ale przy projektach od zera wybieraj Argon2id. Oba są o klasy lepsze od szybkich skrótów w rodzaju SHA-256.