DevToolPal
PL

Generator i weryfikator hashy bcrypt

Haszuj hasło algorytmem bcrypt z wybranym kosztem albo sprawdź, czy hasło pasuje do hasha bcrypt.

Działa lokalnie, nic nie jest wysyłane

Opcje

Tryb

Hasło

Wynik

Tutaj pojawi się wynik

Do czego służy

bcrypt to funkcja haszująca hasła zaprojektowana tak, by była wolna. W przeciwieństwie do MD5 czy SHA-256, które można liczyć miliardy razy na sekundę, bcrypt ma regulowany koszt, przez co każda próba zgadnięcia jest droga dla atakującego, który ukradł bazę danych. Obok Argon2 i scrypt to wciąż jeden z najpopularniejszych sposobów przechowywania haseł.

Narzędzie robi dwie rzeczy:

  • Haszuj: zamienia hasło w hash bcrypt z wybranym kosztem i prefiksem wersji.
  • Sprawdź: weryfikuje, czy hasło pasuje do istniejącego hasha bcrypt, na przykład z twojej bazy lub pliku seed frameworka.

Jak używać

  1. Wpisz Hasło albo kliknij Przykład.
  2. W trybie Haszuj wybierz Koszt i Wersję. Hash pojawia się od razu; kliknij Nowa sól, aby dostać inny.
  3. W trybie Sprawdź wklej Hash bcrypt do sprawdzenia. Wynik pokaże, czy hasło pasuje.

Jak czytać hash bcrypt

Hash taki jak $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK ma cztery części: wersję 2b, koszt 10 (2¹⁰ rund przygotowania klucza), 22-znakową sól i 31-znakową sumę kontrolną. Wszystko, czego serwer potrzebuje do późniejszej weryfikacji hasła, mieści się w tym jednym ciągu, więc przechowujesz tylko hash.

Ograniczenia

bcrypt odczytuje tylko pierwsze 72 bajty hasła. Dłuższe hasła lub hasła z wieloma znakami spoza ASCII (każdy zajmuje 2–4 bajty w UTF-8) są po cichu obcinane. Narzędzie ostrzeże cię, gdy tak się stanie. Jeśli musisz akceptować bardzo długie frazy, najpierw je zahaszuj albo rozważ Argon2id.

FAQ

› Dlaczego dla tego samego hasła za każdym razem dostaję inny hash?

Każdy hash używa nowej losowej soli o długości 16 bajtów, zapisanej w samym hashu. To celowe: takie same hasła nie dają takich samych hashy. Aby sprawdzić hasło, użyj trybu Sprawdź zamiast porównywać ciągi hashy.

› Jaki koszt wybrać?

Wybierz najwyższy koszt, na jaki serwer może sobie pozwolić przy każdym logowaniu, dziś zwykle 10–12. Każdy krok podwaja pracę. Zmierz na sprzęcie produkcyjnym; częstym celem jest 100–300 ms na hash.

› Czym różnią się $2a$, $2b$ i $2y$?

To ten sam algorytm. $2b$ to obecny prefiks OpenBSD, $2y$ zapisuje password_hash w PHP, a $2a$ to starszy wariant. Większość bibliotek akceptuje wszystkie trzy, więc wybierz ten, którego oczekuje twój system.

› Czy moje hasło jest gdzieś wysyłane?

Nie. Haszowanie i sprawdzanie odbywają się w przeglądarce. Hasło i sprawdzany hash istnieją tylko w pamięci tej strony; nie są zapisywane ani dodawane do linków udostępniania.