Darmowy konwerter

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.

O tym narzędziu

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.

Dlaczego hashowanie haseł za pomocą bcrypt

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.

Jak używać

Wpisz hasło, wybierz koszt, uzyskaj skrót.

  1. Wprowadź hasło: Wpisz hasło do hashowania. Narzędzie działa całkowicie w przeglądarce; hasło nie jest nigdzie przesyłane.
  2. Wybierz współczynnik kosztowy: Wartość domyślna to 10, co daje czas mieszania wynoszący około 100 ms na nowoczesnym sprzęcie. Do nowych zastosowań zaleca się wartość 12 (250 ms). Wyższe wartości zwiększają bezpieczeństwo kosztem wolniejszej weryfikacji.
  3. Wygeneruj: Hasher generuje losową 16-bajtową sól, uruchamia wyprowadzanie klucza bcrypt i tworzy skrót w standardowym formacie $2b$.
  4. Użyj skrótu: Zapisz cały wynik ($2b$cost$saltAndHash) w swojej bazie danych haseł. Weryfikacja wykorzystuje tę samą bibliotekę do porównania kandydata z przechowywanym skrótem.

Typowe przypadki użycia

Szczegóły techniczne

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.

Najlepsze praktyki

Często zadawane pytania

Czy mogę dostosować wygenerowane dane wyjściowe?
Tak. Narzędzie zapewnia różne opcje dostosowywania, aby dostosować wydruk do konkretnych potrzeb. Dostosuj ustawienia przed wygenerowaniem lub wygeneruj ponownie, korzystając z różnych opcji.
Czy wygenerowane treści są bezpłatne?
Tak. Wszystko, co wygenerujesz za pomocą tego narzędzia, jest Twoją własnością i możesz z niego korzystać w celach osobistych, edukacyjnych lub komercyjnych, bez żadnych ograniczeń i wymagań dotyczących autorstwa.
Czy to wymaga konta?
Nie. Narzędzie jest gotowe do użycia od razu, bez rejestracji, bez e-maila i bez rejestracji. Wystarczy otworzyć stronę i rozpocząć generowanie.
Czy moje dane wejściowe są poufne?
Tak. Całe przetwarzanie odbywa się w Twojej przeglądarce. Twoje dane wejściowe i wygenerowane dane wyjściowe nigdy nie są wysyłane do żadnego serwera zewnętrznego.
Czy powinienem dodać własną sól?
Nie. bcrypt automatycznie generuje i przechowuje losową sól. Dodawanie własnej soli jest niepotrzebne i może powodować subtelne błędy. Użyj domyślnego generowania soli z biblioteki.
Czy hasło jest wysyłane na serwer?
Nie. Mieszanie bcrypt odbywa się w Twojej przeglądarce. Hasło nigdy nie opuszcza Twojego urządzenia.
Dlaczego istnieją warianty $2a$, $2b$, $2y$?
$2a$ to oryginał. $2b$ naprawia błąd odkryty w 2014 roku. $2y$ jest specyficzne dla PHP i funkcjonalnie odpowiada $2b$. Nowe systemy powinny generować skróty o wartości 2 miliardów dolarów.
Czy mogę obniżyć kosztowy skrót do tańszego?
Nie. Hash uwzględnia koszt jako część wyniku, a weryfikacja wymaga tego samego kosztu. Aby zmienić koszt, powtórz hasz przy następnym udanym logowaniu.