Generator Bcrypt
Generuj i weryfikuj hashe haseł bcrypt online. Konfigurowalny współczynnik kosztu, wbudowana sól, podgląd hashu w czasie rzeczywistym. Całe przetwarzanie odbywa się lokalnie w przeglądarce.
Co to bcrypt?
Bcrypt to funkcja haszowania haseł zaprojektowana przez Nielsa Provos i Davida Mazièresa, oparta na szyfrze Blowfish. Została specjalnie zaprojektowana do bezpiecznego przechowywania haseł i jest jednym z najpowszechniej używanych algorytmów haszowania haseł na świecie.
Jak działa bcrypt?
Bcrypt przyjmuje hasło i sól jako dane wejściowe, a następnie wykonuje kosztowny proces konfiguracji klucza (Eksblowfish), który generuje hash o stałej długości. Hash zawiera identyfikator algorytmu, współczynnik kosztu, sól i właściwą wartość hashu.
Czym jest współczynnik kosztu w bcrypt?
Współczynnik kosztu to liczba od 4 do 31, która określa liczbę iteracji konfiguracji klucza. Każde zwiększenie podwaja czas obliczeń. Koszt 10 oznacza 2^10 = 1024 iteracje. Zalecane wartości to 10-12 dla większości aplikacji.
Czym jest sól i dlaczego jest ważna?
Sól to losowa 128-bitowa wartość unikalna dla każdego hasha hasła. Zapobiega używaniu przez atakujących wstępnie obliczonych tęczowych tablic i zapewnia, że identyczne hasła generują różne hashe. Bcrypt automatycznie generuje sól i osadza ją w wyniku hashu.
Czy bcrypt jest nadal bezpieczny w 2025 roku?
Tak, bcrypt pozostaje jednym z zalecanych algorytmów haszowania haseł. Chociaż istnieją nowsze algorytmy jak Argon2, bcrypt jest uważany za bezpieczny przy użyciu odpowiedniego współczynnika kosztu (12 lub wyższego).
Jaka jest maksymalna długość hasła dla bcrypt?
Bcrypt ma maksymalną długość wejściową 72 bajty. Hasła dłuższe niż 72 bajty są po cichu obcinane. Dla dłuższych haseł rozważ wstępne haszowanie SHA-256 przed zastosowaniem bcrypt.
Jak bcrypt ma się do MD5, SHA-256 i innych funkcji hashujących?
W przeciwieństwie do MD5 i SHA-256 zaprojektowanych dla szybkości, bcrypt jest celowo powolny i kosztowny obliczeniowo. Ogólne funkcje hashujące mogą być obliczane miliardy razy na sekundę, co czyni je podatnymi na ataki brute-force.
Jaki jest format hashu bcrypt?
Hash bcrypt ma format: $2b$cost$salt+hash. Przykład: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. Prefiks $2b$ identyfikuje wersję algorytmu, po nim następuje współczynnik kosztu, 22-znakowa sól i 31-znakowy hash.
Jaka jest różnica między $2a$, $2b$ i $2y$?
To identyfikatory wersji bcrypt. $2a$ to oryginalna wersja, $2b$ naprawia drobny problem z obsługą długości hasła w OpenBSD, a $2y$ to wariant specyficzny dla PHP.
Czy korzystanie z generatora bcrypt online jest bezpieczne?
Gdy przetwarzanie działa całkowicie w przeglądarce (po stronie klienta), jest całkowicie bezpieczne. Żadne dane hasła nie są przesyłane do żadnego serwera. To narzędzie przetwarza wszystko lokalnie za pomocą JavaScript.
Jak wybrać odpowiedni współczynnik kosztu?
Współczynnik kosztu powinien być tak wysoki, jak to możliwe, przy zachowaniu akceptowalnej szybkości generowania hashu. Dobra zasada: wybierz koszt, przy którym haszowanie zajmuje około 250-500ms na serwerze.
Czy bcrypt może być używany do szyfrowania danych?
Nie, bcrypt jest jednokierunkową funkcją hashującą, nie algorytmem szyfrowania. Nie można go odwrócić, aby odzyskać oryginalne hasło. Został zaprojektowany wyłącznie do weryfikacji haseł.
Dlaczego bcrypt jest celowo powolny?
Bcrypt jest celowo powolny, aby uczynić ataki brute-force i słownikowe kosztownymi obliczeniowo. Podczas gdy normalna funkcja hashująca może przetwarzać miliony haseł na sekundę, bcrypt przetwarza tylko kilka setek.
Jak zweryfikować hasło wobec hashu bcrypt?
Aby zweryfikować, wyodrębnij sól i współczynnik kosztu z zapisanego hashu, uruchom bcrypt z tymi samymi parametrami na haśle wejściowym i porównaj wynikowy hash z zapisanym. Jeśli się zgadzają, hasło jest poprawne.