Hash-Typ erkennen

Fügen Sie einen Hashwert ein, um zu sehen, welche Algorithmen ihn erzeugt haben könnten, sortiert nach Wahrscheinlichkeit. Das Tool liest Hashwerte in Hex und Base64 sowie Passwort-Hash-Formate und kann eine Vermutung mit Ihrem eigenen Text abgleichen.

Läuft vollständig in Ihrem Browser. Es wird nichts hochgeladen.

Anleitung

  1. 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 *.
  2. 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.
  3. Bei den Kandidaten MD5, SHA-1, SHA-256, SHA-512, CRC-32 und CRC-32C führt Sie „Tool öffnen“ zum passenden Rechner.
  4. 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-ZeichenBitGängige Algorithmen
832CRC-32, CRC-32C und Adler-32
32128MD5, NTLM und MD4
40160SHA-1 und RIPEMD-160
56224SHA-224 und SHA3-224
64256SHA-256, SHA3-256, BLAKE2s und Keccak-256
96384SHA-384 und SHA3-384
128512SHA-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 mitFormatTypischerweise zu finden in
$2a$, $2b$, $2y$bcrypt, immer 60 Zeichen; die nächsten zwei Ziffern sind der Kostenfaktor, und jede Stufe verdoppelt den AufwandWeb-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 IterationszahlDjango
{SHA}, {SSHA}SHA-1, gesalzenes SHA-1LDAP-Verzeichnisse
* und 40 Hex-ZiffernMySQL 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?
Der Text muss Byte für Byte übereinstimmen. Häufige Ursachen sind ein abschließender Zeilenumbruch (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.