Szyfruj hasło Generatora
Natychmiast generuj bezpieczne skróty haseł bcrypt w swojej przeglądarce. Wybierz współczynnik kosztów i hashuj hasła po stronie klienta — całkowicie prywatne i bezpłatne.
Natychmiast generuj bezpieczne skróty haseł bcrypt w swojej przeglądarce. Wybierz współczynnik kosztów i hashuj hasła po stronie klienta — całkowicie prywatne i bezpłatne.
bcrypt to funkcja mieszająca hasło zaprojektowana przez Nielsa Provosa i Davida Mazièresa w 1999 roku, wywodząca się z szyfru Blowfish. W przeciwieństwie do funkcji skrótu ogólnego przeznaczenia, takich jak SHA-256, bcrypt jest celowo powolny — i konfigurowalny powolny, za pomocą parametru kosztu — czyli dokładnie tej właściwości, której potrzebuje hasher haseł. Szybsza funkcja skrótu umożliwia atakującym brutalną siłę większej liczby kandydatów na sekundę; wolniejszy je ogranicza.
bcrypt automatycznie włącza także sól według hasła, eliminując całą klasę ataków opartych na wstępnie obliczonych tabelach Rainbow. Parametry salt i koszt są przechowywane jako część danych wyjściowych bcrypt, więc weryfikacja wymaga jedynie zapisanego skrótu i potencjalnego hasła — bez osobnego zarządzania solą. To połączenie powolności, soli i samodzielnego formatu sprawiło, że bcrypt stał się domyślnym skrótem hasła przez dwie dekady i dziś jest dobrym wyborem.
Istnieją nowoczesne alternatywy. Argon2 wygrał konkurs hashowania haseł 2015 i oprócz wytrzymałości czasowej oferuje odporność na pamięć. scrypt oferuje podobne właściwości. W przypadku nowych projektów zalecanym wyborem jest Argon2id. bcrypt pozostaje akceptowalny i szeroko stosowany, szczególnie w środowiskach, w których Argon2 nie jest dostępny.
Przechowywanie haseł w postaci zwykłego tekstu jest nadużyciem. Przechowywanie ich za pomocą szybkiego skrótu, takiego jak SHA-256, jest niewiele lepsze — nowoczesne procesory graficzne obliczają miliardy skrótów SHA-256 na sekundę, dzięki czemu ataki brute-force na dowolne popularne hasło są wykonalne w ciągu kilku godzin. Celowe spowolnienie bcrypt zmienia ekonomię: przy współczynniku kosztu 12 osoba atakująca spędza około 250 ms na jedno potencjalne hasło, co sprawia, że użycie siły brute-force jest niepraktyczne w przypadku jakiegokolwiek nietrywialnego hasła.
Automatyczna sól bcrypt na hasło powstrzymuje także ataki na tablicę Rainbow. Dwóch użytkowników z tym samym hasłem tworzy różne skróty bcrypt, ponieważ ich sole są różne. Naruszenie bezpieczeństwa bazy danych haseł nie pozwala atakującemu szybko zidentyfikować typowych haseł ani trafień w tabeli wstępnie obliczonej.
Wpisz hasło, wybierz koszt, uzyskaj skrót.
bcrypt wykorzystuje fazę konfiguracji klucza zmodyfikowanego szyfru Blowfish, powtarzaną 2 razy koszt. Współczynnik kosztu jest logarytmiczny — koszt 12 jest dwukrotnie wolniejszy niż koszt 11, cztery razy wolniej niż koszt 10. To logarytmiczne skalowanie pozwala administratorom zwiększać koszty w miarę ulepszania sprzętu, bez konieczności przeprojektowywania systemu.
Format wyjściowy to $version$cost$saltAndHash, gdzie saltAndHash jest zakodowany w formacie Base64 z niestandardowym alfabetem. Wersja kosztuje zazwyczaj 2 miliardy dolarów (nowoczesny wariant z naprawionym błędem) lub 2 lata dolarów (odpowiednik specyficzny dla PHP). Sól ma 16 bajtów; skrót ma 24 bajty; razem kodują do 53 znaków niestandardowego base64.
Maksymalna długość wejściowa wynosi 72 bajty (limit długości klucza Blowfish). Dłuższe hasła są dyskretnie obcinane, co jest długotrwałym dziwactwem bcrypt. Najlepszą praktyką jest ograniczenie długości hasła do 72 bajtów lub wstępne hashowanie za pomocą SHA-256 w celu normalizacji długości przed bcrypt.