Generator i weryfikator hashy Bcrypt
Zamień hasło na hash bcrypt $2b$ lub sprawdź hasło względem hashu, który już masz. Hashowanie działa w Web Workerze wewnątrz twojej przeglądarki — nic, co wpiszesz, nigdzie nie jest wysyłane.
Nie wklejaj prawdziwego hasła produkcyjnego do żadnego narzędzia online — łącznie z tym.
Dane wejściowe
Hasło i koszt
Dla każdego hashu losowana jest nowa 16-bajtowa sól, więc to samo hasło daje za każdym razem inny hash. To jest cel soli, a nie błąd.
Koszt 10 oznacza 2^10 = 1,024 rund ustawiania klucza. Każdy kolejny stopień podwaja pracę — zarówno dla kogoś łamiącego skradziony plik z hasłami, jak i dla twojego serwera przy każdym pojedynczym logowaniu. Większość systemów produkcyjnych mieści się między 10 a 12.
Wszystkie trzy prefiksy dają identyczne bajty hashu dla haseł poniżej 72 bajtów; różni się tylko etykieta. Wbudowana funkcja crypt() w PHP nie rozpoznaje $2b$, więc hash $2b$ po cichu nie przejdzie password_verify(). Wybierz $2y$ dla PHP.
Hashowanie działa w Web Workerze wewnątrz tej karty. Hasło nigdy nie jest wysyłane do Wespner ani nikogo innego — nie ma żądania, które mogłoby je wysłać.
Wynik
hash bcrypt
Naciśnij „Generuj hash”.
Koszt, zmierzony tutaj
Ile kosztuje cię to ustawienie
Szacunek: jeden hash jest mierzony w tej karcie przy koszcie 8, a każdy inny koszt jest ekstrapolowany z niego przez podwajanie. Twój sprzęt i przeglądarka decydują o wyniku.
Te liczby to jeden wątek JavaScript. Prawdziwy atakujący uruchamia natywny kod na stelażu GPU i jest o rzędy wielkości szybszy — właśnie dlatego współczynnik kosztu musi być niewygodny, a nie wygodny. Ten sam suwak decyduje też, ile CPU spala każde z twoich własnych logowań.
Odczytywanie ciągu
Co oznacza tych 60 znaków
$2b$12$LQv3c1yqBWVHxkd0LHAkCOYUtYgBuLIjrsGrDUgYqZbY7d0RfPbtq
Oba bloki używają własnego alfabetu base64 bcrypta, który zaczyna się od ./ i umieszcza cyfry na końcu — to nie jest standardowy base64, a dekodowanie go tak, jakby był, daje błędne bajty. To, wraz z podziałem 22/31, jest szybkim sposobem na sprawdzenie, czy ciąg naprawdę jest hashem bcrypt, a nie czymś, co tylko na niego wygląda.
Wybór algorytmu
bcrypt, scrypt czy Argon2?
To narzędzie celowo obsługuje tylko bcrypt. Oto kiedy jest właściwą odpowiedzią, a kiedy nie.
Celowo powolny, ale opiera się tylko na czasie CPU i stałych 4 KB pamięci. GPU i FPGA równoległą go znacznie lepiej niż nowsze konstrukcje. To wciąż całkiem szanowany wybór, wspierany dosłownie wszędzie, a jego limit 72 bajtów hasła jest najbardziej zaskakującym mankamentem.
Dodaje regulowany koszt pamięci, więc atakujący potrzebuje RAM-u na każdą próbę, nie tylko rdzeni. Trudniejszy do taniego zrównoleglenia niż bcrypt.
Zwycięzca Password Hashing Competition z 2015 roku i to, co OWASP obecnie zaleca dla nowych systemów: osobne pokrętła czasu, pamięci i równoległości, a wariant id odporny zarówno na ataki GPU, jak i side-channel. Jeśli zaczynasz od zera i twoja platforma go obsługuje, użyj go. Jeśli utrzymujesz coś, co już przechowuje hashe $2y$, bcrypt przy rozsądnym koszcie nie jest sytuacją awaryjną — zamiast tego przehashuj przy kolejnym logowaniu.
Dowód
Sprawdź tę stronę względem opublikowanych wektorów testowych
Narzędzie do hashowania, które prosi o zaufanie, powinno dać się sprawdzić. To są referencyjne wektory bcrypt używane przez implementacje pochodne od OpenBSD; strona przelicza każdy z nich z własnej soli i porównuje znak po znaku, a następnie hashuje i ponownie weryfikuje jednorazowe hasło przy dwóch współczynnikach kosztu.
Ta partia uruchamia 6 opublikowanych wektorów plus dwa pełne cykle.
Prowadzisz własny serwer gier?
Serwery gier Wespner z ochroną DDoS, dyskami NVMe i aktywacją w kilka minut.