Anleitung
- Fügen Sie einen einzelnen Hashwert ein. Entfernen Sie Präfixe wie 0x, sha256= oder sha384-, lassen Sie Passwort-Hashes aber vollständig, einschließlich eines führenden $, { oder *.
- Lesen Sie das Ergebnis: die erkannte Form und ihre Größe in Bit, darunter die möglichen Algorithmen, wobei die wahrscheinlichsten mit „Am wahrscheinlichsten“ markiert sind. Der Kostenfaktor von bcrypt bzw. die Runden von sha256crypt, sha512crypt und PBKDF2 werden angezeigt, wenn der String sie enthält.
- Bei den Kandidaten MD5, SHA-1, SHA-256, SHA-512, CRC-32 und CRC-32C führt Sie „Tool öffnen“ zum passenden Rechner.
- Wenn Sie den Ausgangstext kennen oder vermuten, geben Sie ihn unter „Mit Text abgleichen“ ein, um zu sehen, welcher Algorithmus den Hashwert reproduziert.
Wie der Hash-Typ erkannt wird
Jeder Hash-Algorithmus hat eine feste Ausgabegröße, und Hex verwendet zwei Zeichen pro Byte. Die Länge eines Hex-Strings ist daher der stärkste Hinweis. Das Tool prüft außerdem den Zeichensatz und sucht nach den Präfixen, die Passwort-Hash-Formate an den Anfang setzen.
| Hex-Zeichen | Bit | Gängige Algorithmen |
|---|---|---|
| 8 | 32 | CRC-32, CRC-32C und Adler-32 |
| 32 | 128 | MD5, NTLM und MD4 |
| 40 | 160 | SHA-1 und RIPEMD-160 |
| 56 | 224 | SHA-224 und SHA3-224 |
| 64 | 256 | SHA-256, SHA3-256, BLAKE2s und Keccak-256 |
| 96 | 384 | SHA-384 und SHA3-384 |
| 128 | 512 | SHA-512, SHA3-512, BLAKE2b und Whirlpool |
Die Länge allein reicht für eine eindeutige Bestimmung nicht aus, denn ein guter Hashwert sieht aus wie Zufallsdaten und trägt keine Kennzeichnung seines Algorithmus. Ein Wert mit 32 Zeichen könnte MD5, MD4 oder NTLM sein, das Windows für Kontopasswörter verwendet (MD4 des Passworts in UTF-16LE). Das Tool ordnet die Kandidaten daher nach ihrer Verbreitung: MD5 zuerst, oder NTLM zuerst, wenn der Hashwert nur aus Großbuchstaben besteht, so wie manche Tools zum Auslesen von Windows-Passwort-Hashes ihn ausgeben. Ebenso unterscheiden sich Keccak-256 aus Ethereum und das standardisierte SHA3-256 nur in der Auffüllung, liefern aber beide 64 Hex-Zeichen.
Hashwerte in Base64 und Passwort-Hash-Formate
Manche Systeme schreiben Hashwerte in Base64 statt in Hex: 24 Zeichen für 16 Bytes (MD5, etwa im Header Content-MD5), 28 für SHA-1, 44 für SHA-256, 64 für SHA-384 (etwa in Subresource-Integrity-Attributen) und 88 für SHA-512. Das Tool rechnet die Länge in Bytes zurück und listet dieselben Kandidaten auf. Fehlende Auffüllung und URL-sichere Zeichen werden akzeptiert, entfernen Sie aber zuerst ein Präfix wie sha384-.
Passwort-Hash-Formate beschreiben sich selbst: Ein Präfix benennt den Algorithmus, und Salt sowie Kostenparameter stehen mit im String. Die modernen Formate sind gesalzen und absichtlich langsam. Die LDAP- und MySQL-Formate in den letzten beiden Zeilen sind dagegen schnelle SHA-1-Konstruktionen, und nur {SSHA} fügt ein Salt hinzu.
| Beginnt mit | Format | Typischerweise zu finden in |
|---|---|---|
$2a$, $2b$, $2y$ | bcrypt, immer 60 Zeichen; die nächsten zwei Ziffern sind der Kostenfaktor, und jede Stufe verdoppelt den Aufwand | Web-Frameworks, PHP password_hash() |
$argon2id$ | Argon2id mit Parametern für Speicher (m), Zeit (t) und Parallelität (p) | Moderne Anwendungen; von OWASP empfohlen |
$6$, $5$ | sha512crypt, sha256crypt, optional mit rounds= | /etc/shadow unter Linux |
$y$ | yescrypt | /etc/shadow in vielen aktuellen Linux-Distributionen |
$1$, $apr1$ | md5crypt, Apache MD5 | Ältere Unix-Systeme, .htpasswd |
pbkdf2_sha256$ | PBKDF2-SHA256 mit Iterationszahl | Django |
{SHA}, {SSHA} | SHA-1, gesalzenes SHA-1 | LDAP-Verzeichnisse |
* und 40 Hex-Ziffern | MySQL 4.1+ PASSWORD() | MySQL-Benutzertabellen |
Erkennen ist nicht Knacken
Hashfunktionen sind Einwegfunktionen. Die Hash-Erkennung betrachtet nur die Form des Strings: Sie kann die Eingabe weder offenlegen noch entschlüsseln oder nachschlagen und sendet nichts an einen Server oder eine Online-Datenbank. Eine Eingabe lässt sich nur finden, indem man Kandidaten rät und jeden einzeln hasht. Genau das tun Tools zur Passwortwiederherstellung wie hashcat und John the Ripper, sobald sie den Algorithmus kennen. Gesalzene, langsame Formate wie bcrypt und Argon2 gibt es, um dieses Raten teuer zu machen. Testen Sie nur Hashwerte, mit denen Sie arbeiten dürfen.
Mit Text abgleichen prüft eine bestimmte Vermutung. Die Funktion hasht den eingegebenen Text als UTF-8 mit MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 und CRC-32C und zeigt an, welches Ergebnis dem Hashwert entspricht, egal ob er in Hex mit Groß- oder Kleinbuchstaben oder in Base64 geschrieben ist. Gesalzene Passwort-Hashes oder HMACs kann sie nicht bestätigen, da diese zusätzlich von einem Salt oder einem geheimen Schlüssel abhängen. Für einen Wert mit Schlüssel verwenden Sie den HMAC-Generator mit dem passenden Schlüssel.
Häufig gestellte Fragen
Kann mir dieses Tool den Ausgangstext oder das Passwort verraten?
Nein. Es nennt nur den wahrscheinlichen Algorithmus. Hashfunktionen lassen sich nicht umkehren. Online-„Hash-Entschlüssler“ schlagen den Wert in Tabellen mit Hashwerten gängiger Wörter und geleakter Passwörter nach, was nur bei schwachen, ungesalzenen Eingaben funktioniert.
Warum werden für einen Hashwert mehrere Algorithmen aufgeführt?
Algorithmen mit gleicher Ausgabegröße erzeugen Strings mit derselben Länge und demselben Zeichensatz, und nichts im Hashwert verrät, welcher verwendet wurde. Der wahrscheinlichste Kandidat steht markiert an erster Stelle, gemessen daran, wie verbreitet die einzelnen Algorithmen sind. Um sicherzugehen, berechnen Sie den Hashwert aus einer bekannten Eingabe neu.
Ist ein Hex-String mit 32 Zeichen immer MD5?
Meistens, aber nicht immer. NTLM, MD4, MD2 und RIPEMD-128 ergeben dieselbe Länge, ebenso jeder in Hex geschriebene 128-Bit-Wert, etwa eine UUID ohne Bindestriche oder ein Zufallstoken. Der Kontext entscheidet: Bei einem Windows-Passwort-Hash ist es NTLM, bei einer Datei-Prüfsumme MD5.
Warum findet „Mit Text abgleichen“ keine Übereinstimmung?
echo fügt einen hinzu, außer Sie verwenden echo -n oder printf), abweichende Leerzeichen oder Groß-/Kleinschreibung, Text, der in einer anderen Kodierung als UTF-8 gehasht wurde, ein Salt oder Schlüssel wie bei Passwort-Hashes und HMACs oder ein Algorithmus, den der Abgleich nicht abdeckt, etwa SHA-3, BLAKE2 oder NTLM.Ist es sicher, einen Passwort-Hash hier einzufügen?
Die Analyse läuft vollständig in Ihrem Browser, und der Hashwert wird weder übertragen noch gespeichert. Trotzdem kann jeder, der einen Passwort-Hash aus einem echten System besitzt, offline Vermutungen dagegen testen. Behandeln Sie Passwort-Hashes daher als vertraulich und halten Sie sie aus Tickets, Chats und Screenshots heraus.