Jak używać
- Wklej jeden hash. Usuń etykiety takie jak 0x, sha256= czy sha384-, ale hashe haseł pozostaw w całości, łącznie z początkowym znakiem $, { lub *.
- Odczytaj wynik: najpierw wykrytą postać i jej rozmiar w bitach, a potem możliwe algorytmy z oznaczeniem tych najbardziej prawdopodobnych. Jeśli ciąg je zawiera, wyświetlany jest też współczynnik kosztu bcrypt albo liczba rund sha256crypt, sha512crypt i PBKDF2.
- Przy kandydatach MD5, SHA-1, SHA-256, SHA-512, CRC-32 i CRC-32C przycisk „Otwórz narzędzie” prowadzi do odpowiedniego kalkulatora.
- Jeśli znasz lub podejrzewasz tekst źródłowy, wpisz go w polu „Porównaj z tekstem”, aby sprawdzić, który algorytm odtwarza ten hash.
Jak rozpoznaje się hash
Każdy algorytm hashujący ma stały rozmiar wyniku, a zapis hex używa dwóch znaków na bajt, więc długość ciągu szesnastkowego jest najmocniejszą wskazówką. Narzędzie sprawdza też zestaw znaków i szuka prefiksów, które formaty hashy haseł umieszczają na początku.
| Znaki hex | Bity | Popularne algorytmy |
|---|---|---|
| 8 | 32 | CRC-32, CRC-32C i Adler-32 |
| 32 | 128 | MD5, NTLM i MD4 |
| 40 | 160 | SHA-1 i RIPEMD-160 |
| 56 | 224 | SHA-224 i SHA3-224 |
| 64 | 256 | SHA-256, SHA3-256, BLAKE2s i Keccak-256 |
| 96 | 384 | SHA-384 i SHA3-384 |
| 128 | 512 | SHA-512, SHA3-512, BLAKE2b i Whirlpool |
Sama długość nie rozstrzyga sprawy, bo dobry hash wygląda jak losowe dane i nie zawiera żadnego oznaczenia algorytmu. Wartość o długości 32 znaków może być hashem MD5, MD4 lub NTLM, którego Windows używa do haseł kont (MD4 z hasła w kodowaniu UTF-16LE). Dlatego narzędzie szereguje kandydatów według tego, jak często się je spotyka: na pierwszym miejscu stawia MD5, a NTLM wtedy, gdy hash jest zapisany w całości wielkimi literami, tak jak wypisują go niektóre narzędzia do zrzucania haseł z systemu Windows. Podobnie Keccak-256 używany w Ethereum i ustandaryzowany SHA3-256 różnią się tylko dopełnieniem, a oba dają 64 znaki hex.
Hashe w Base64 i formaty hashy haseł
Niektóre systemy zapisują hashe w Base64 zamiast w hex: 24 znaki dla 16 bajtów (MD5, jak w nagłówku Content-MD5), 28 dla SHA-1, 44 dla SHA-256, 64 dla SHA-384 (jak w atrybutach Subresource Integrity) i 88 dla SHA-512. Narzędzie przelicza długość z powrotem na bajty i wyświetla tych samych kandydatów. Brak dopełnienia i znaki bezpieczne dla URL są akceptowane, ale najpierw usuń prefiks taki jak sha384-.
Formaty hashy haseł same się opisują: prefiks wskazuje algorytm, a sól i parametry kosztu są zapisane w samym ciągu. Nowoczesne formaty używają soli i są celowo powolne; formaty LDAP i MySQL z dwóch ostatnich wierszy to szybkie konstrukcje oparte na SHA-1, a sól dodaje tylko {SSHA}.
| Zaczyna się od | Format | Gdzie zwykle występuje |
|---|---|---|
$2a$, $2b$, $2y$ | bcrypt, zawsze 60 znaków; kolejne dwie cyfry to współczynnik kosztu, a każdy jego stopień podwaja nakład pracy | Frameworki webowe, password_hash() w PHP |
$argon2id$ | Argon2id z parametrami pamięci (m), czasu (t) i równoległości (p) | Nowoczesne aplikacje; zalecany przez OWASP |
$6$, $5$ | sha512crypt, sha256crypt, z opcjonalnym rounds= | /etc/shadow w Linuksie |
$y$ | yescrypt | /etc/shadow w wielu obecnych dystrybucjach Linuksa |
$1$, $apr1$ | md5crypt, Apache MD5 | Starsze systemy Unix, .htpasswd |
pbkdf2_sha256$ | PBKDF2-SHA256 wraz z liczbą iteracji | Django |
{SHA}, {SSHA} | SHA-1, SHA-1 z solą | Katalogi LDAP |
* i 40 cyfr szesnastkowych | MySQL 4.1+ PASSWORD() | Tabele użytkowników MySQL |
Identyfikacja to nie łamanie
Hash jest jednokierunkowy. Identyfikator analizuje wyłącznie postać ciągu: nie potrafi ujawnić, odszyfrować ani wyszukać danych wejściowych i niczego nie wysyła na serwer ani do internetowej bazy danych. Jedynym sposobem na znalezienie danych wejściowych jest zgadywanie kandydatów i obliczanie hasha każdego z nich – właśnie to robią narzędzia do odzyskiwania haseł, takie jak hashcat i John the Ripper, gdy znają już algorytm. Formaty z solą i celowo powolne, takie jak bcrypt i Argon2, istnieją po to, by takie zgadywanie było kosztowne. Testuj tylko te hashe, do których przetwarzania masz uprawnienia.
Pole Porównaj z tekstem sprawdza jedno konkretne przypuszczenie. Oblicza hash wpisanego tekstu, zakodowanego jako UTF-8, algorytmami MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 i CRC-32C, i informuje, który wynik jest równy hashowi – niezależnie od tego, czy zapisano go w hex małymi lub wielkimi literami, czy w Base64. Nie potwierdzi hashy haseł z solą ani wartości HMAC, bo zależą one również od soli lub klucza tajnego; dla wartości obliczonej z kluczem użyj generatora HMAC razem z tym kluczem.
Najczęściej zadawane pytania
Czy to narzędzie poda mi oryginalny tekst lub hasło?
Nie. Wskazuje jedynie prawdopodobny algorytm. Funkcji hashujących nie da się odwrócić; internetowe „deszyfratory hashy” szukają wartości w tabelach hashy popularnych słów i haseł z wycieków, co działa tylko w przypadku słabych danych wejściowych bez soli.
Dlaczego dla jednego hasha wyświetlanych jest kilka algorytmów?
Algorytmy o tym samym rozmiarze wyniku dają ciągi o tej samej długości i tym samym zestawie znaków, a sam hash nie zawiera informacji o tym, którego z nich użyto. Najbardziej prawdopodobny kandydat, wybrany na podstawie popularności poszczególnych algorytmów, jest oznaczony i wyświetlany jako pierwszy. Aby mieć pewność, oblicz hash ponownie ze znanych danych wejściowych.
Czy 32-znakowy ciąg hex to zawsze MD5?
Zwykle tak, ale nie zawsze. NTLM, MD4, MD2 i RIPEMD-128 dają tę samą długość, podobnie jak każda 128-bitowa wartość zapisana w hex, np. UUID bez łączników albo losowy token. Rozstrzyga kontekst: hash hasła z systemu Windows oznacza NTLM, a suma kontrolna pliku – MD5.
Dlaczego „Porównaj z tekstem” nie znajduje dopasowania?
echo go dodaje, chyba że użyjesz echo -n lub printf), inne odstępy lub wielkość liter, tekst zahashowany w kodowaniu innym niż UTF-8, sól lub klucz, jak w hashach haseł i HMAC, albo algorytm, którego sprawdzanie nie obejmuje, np. SHA-3, BLAKE2 lub NTLM.Czy wklejanie tutaj hasha hasła jest bezpieczne?
Analiza odbywa się w całości w przeglądarce, a hash nie jest przesyłany ani zapisywany. Mimo to hash hasła z rzeczywistego systemu pozwala każdemu, kto go ma, zgadywać hasło offline, dlatego traktuj takie hashe jako dane wrażliwe i nie umieszczaj ich w zgłoszeniach, na czatach ani na zrzutach ekranu.