Identyfikator hashy

Wklej hash, aby zobaczyć, które algorytmy mogły go wygenerować, uszeregowane według prawdopodobieństwa. Narzędzie odczytuje hashe zapisane w hex i Base64 oraz formaty hashy haseł, a także pozwala sprawdzić przypuszczenie na podstawie własnego tekstu.

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. 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 *.
  2. 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.
  3. Przy kandydatach MD5, SHA-1, SHA-256, SHA-512, CRC-32 i CRC-32C przycisk „Otwórz narzędzie” prowadzi do odpowiedniego kalkulatora.
  4. 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 hexBityPopularne algorytmy
832CRC-32, CRC-32C i Adler-32
32128MD5, NTLM i MD4
40160SHA-1 i RIPEMD-160
56224SHA-224 i SHA3-224
64256SHA-256, SHA3-256, BLAKE2s i Keccak-256
96384SHA-384 i SHA3-384
128512SHA-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ę odFormatGdzie 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 pracyFrameworki 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 MD5Starsze systemy Unix, .htpasswd
pbkdf2_sha256$PBKDF2-SHA256 wraz z liczbą iteracjiDjango
{SHA}, {SSHA}SHA-1, SHA-1 z soląKatalogi LDAP
* i 40 cyfr szesnastkowychMySQL 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?
Tekst musi zgadzać się co do bajtu. Typowe przyczyny to końcowy znak nowego wiersza (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.