Hash-Identifikationstool (Rückwärtssuche) | Automatische Erkennung von MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt, Argon2

Fügen Sie eine wie ein Hash aussehende Zeichenfolge ein, und dieses Tool schätzt anhand von Länge, Zeichensatz und Präfix ab, welcher Algorithmus — MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt oder Argon2 — sie höchstwahrscheinlich erzeugt hat. Die gesamte Verarbeitung erfolgt vollständig im Browser.

Der Hash-Wert selbst enthält keine Information darüber, mit welchem Algorithmus er erzeugt wurde. Da mehrere Algorithmen dieselbe Ausgabelänge haben können, ist dieses Ergebnis lediglich die "wahrscheinlichste Vermutung" auf Basis von Länge, Zeichensatz und Präfix — keine hundertprozentig sichere Aussage.

Aus dem Hashwert auf das Verfahren schließen

**Im Hashwert selbst steht nirgends der Name des Verfahrens, mit dem er erzeugt wurde.** Erschließen lässt er sich dennoch, und dafür gibt es drei Anhaltspunkte: **die Zeichenzahl der Ausgabe** (32 bei MD5, 40 bei SHA-1, 64 bei SHA-256 und 128 bei SHA-512), **die Zeichenart** (hexadezimal oder Base64) sowie **Präfixe wie `$2b$` oder `$argon2id$`**. Dieses Werkzeug bestimmt daraus das wahrscheinlichste Verfahren und zeigt zugleich die Begründung an, die zu diesem Schluss geführt hat.

**Wichtig ist, dass es sich um eine Vermutung und nicht um ein Urteil handelt.** Der Grund liegt darin, dass mehrere Verfahren dieselbe Ausgabelänge teilen: Eine Folge aus 64 Hexadezimalzeichen kann SHA-256 sein, ebenso gut aber SHA3-256 oder BLAKE2s, und am Erscheinungsbild lassen sie sich nicht trennen. Umgekehrt sind Formate, die **ihre Parameter in der Zeichenkette selbst mitführen**, wie bcrypt und Argon2, am Präfix sicher zu erkennen. Die gesamte Auswertung geschieht im Browser, sodass die eingefügte Zeichenkette an keinen Server gesendet wird.

So bestimmen Sie einen Hash

  1. Fügen Sie die Hash-Zeichenkette ein Leerzeichen am Anfang und Ende werden übergangen, Sie können also direkt aus dem Protokoll kopieren.
  2. Lesen Sie das Ergebnis Die in Frage kommenden Verfahren erscheinen nach absteigender Wahrscheinlichkeit geordnet.
  3. Prüfen Sie Länge und Zeichenvorrat Die Begründung wird mit angezeigt, damit Sie nachvollziehen, **warum dieser Kandidat vorgeschlagen wird**.
  4. Achten Sie auf ein Präfix Beginnt die Zeichenkette mit `$`, verengt sich die Auswahl praktisch auf einen einzigen Kandidaten.

Tipps für die Nutzung

  • Die Identifikation stützt sich ausschließlich auf Länge, Zeichensatz (Hexadezimal oder Base64) und Präfix als Anhaltspunkte — der Hash wird dabei nicht tatsächlich neu berechnet, um ihn zu verifizieren. Es werden lediglich Kandidaten angezeigt, die sich aus dem Format ableiten lassen.
  • BCrypt ($2a$/$2b$/$2y$) und Argon2 ($argon2id$ usw.) betten den Algorithmusnamen und die Parameter direkt im Präfix ein, sodass sie mit hoher Konfidenz erkannt werden können.
  • Eine 64-stellige Hexadezimalzeichenfolge ist am häufigsten SHA-256, aber SHA3-256 hat dieselbe Länge — wenn Sie die Sprache oder Bibliothek des Ursprungssystems kennen, ziehen Sie diese Information ebenfalls heran.
  • Auch über mehrere Zeilen kopierte Hash-Dumps (durch Zeilenumbrüche oder Leerzeichen getrennt) werden vor der Identifikation automatisch von internen Leerzeichen bereinigt, sodass Sie sie unverändert einfügen können.
  • Wenn Sie sich beim Ergebnis nicht sicher sind, ist es am zuverlässigsten, die Quelle des Hashes zu prüfen — den Quellcode oder die Dokumentation der Anwendung.

Wofür Sie es nutzen können

Beim Prüfen eines übernommenen Systems

Sie bekommen einen ersten Anhaltspunkt, wie die in der Datenbank verbliebenen Hashes entstanden sind.

Beim Abwägen einer Umstellung

**Handelt es sich um bcrypt oder Argon2, können Sie sie samt Parametern behalten und schrittweise umstellen**, sobald sich die Nutzenden anmelden.

Beim Aufspüren eines Sicherheitsproblems

**Werden Passwörter mit MD5 oder SHA-1 gespeichert, ist das für sich genommen bereits ein zu behebender Befund.**

Beim Deuten von Protokollen oder Abzügen

Steht dort eine lange Hexadezimalfolge unklarer Herkunft, haben Sie einen Ansatzpunkt für die weitere Klärung.

Begriffe rund um Hashes

MD5
Hashfunktion mit 128 Bit. **Kollisionen lassen sich praktisch erzeugen, weshalb sie weder für Passwörter noch zur Erkennung von Veränderungen verwendet werden darf.**
SHA-1
Hashfunktion mit 160 Bit. Wie bei MD5 sind Kollisionsangriffe belegt, für neue Anwendungen ist sie daher nicht zu empfehlen.
SHA-256 / SHA-512
Funktionen der SHA-2-Familie. **Ihre Schnelligkeit, anderswo ein Vorzug, wird beim Speichern von Passwörtern zur Schwäche**, weil sie das Durchprobieren erleichtert.
bcrypt
Ein für Passwörter gedachter Hash, der den Kostenfaktor in der Zeichenkette mitführt. Er beginnt mit `$2a$` oder `$2b$`.
Argon2
Der Passwort-Hash, der 2015 den Wettbewerb gewann. Er beginnt mit `$argon2id$` und lässt auch die Speichermenge einstellen.
Salz
Ein Zufallswert, der bei jedem Hash wechselt. **bcrypt und Argon2 tragen ihn in der Zeichenkette selbst**, sodass er nicht getrennt aufbewahrt werden muss.

Häufig gestellte Fragen

Nein, nicht allein anhand des Hash-Werts. Da manche Algorithmen, etwa SHA-256 und SHA3-256, Ausgaben mit exakt derselben Länge erzeugen, kann die Ausgabe allein niemals eindeutig sein. Wenn Sie es mit Sicherheit wissen müssen, müssen Sie den Quellcode oder die Dokumentation der Anwendung prüfen, die den Hash erzeugt hat.

BCrypt und Argon2 sind speziell für die Passwortspeicherung konzipiert und verwenden ein "Modular Crypt Format", das den Algorithmusnamen und die Parameter als Text am Anfang des Hashes einbettet, etwa $2b$ oder $argon2id$. Solange diese Information ausgelesen werden kann, lässt sich der Algorithmus eindeutig bestimmen.

Nein, das kann es nicht. Dieses Tool schätzt lediglich anhand des "Erscheinungsbilds" des Hash-Werts den Algorithmustyp ab — es bietet keinerlei Funktion, um aus einem Hash die ursprünglichen Daten wiederherzustellen, etwa durch einen Brute-Force-Angriff.

Die Kollisionsresistenz von MD5 und SHA-1 gilt als gebrochen. Werden sie zur Passwortspeicherung eingesetzt, sollte dies als Sicherheitsrisiko behandelt werden. Es empfiehlt sich, solche Systeme auf BCrypt oder Argon2id umzustellen, die speziell für die Passwortspeicherung entwickelt wurden.

Ja. Mit dem Tool Massen-Hash-Berechnung und -Vergleich dieser Website können Sie dieselbe Zeichenfolge eingeben und tatsächlich die Werte für MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt und Argon2id berechnen, um sie mit diesem Identifikationsergebnis abzugleichen.
Tool-kun

Übrigens – Warum ein Hash-Wert allein den Algorithmus nicht eindeutig bestimmen kann

Die Aufgabe einer Hash-Funktion besteht darin, Eingabedaten in eine Ausgabe fester Länge umzuwandeln, und diese Ausgabe (der Digest) selbst enthält keinerlei Metadaten, die den verwendeten Algorithmus angeben. Das ist eine zwangsläufige Folge des Designs: Würden Metadaten eingebettet, würde sich die Ausgabelänge ändern und damit die für eine kryptografische Hash-Funktion wesentliche Eigenschaft der "festen Länge" zerstört. Damit bleibt uns als Anhaltspunkt nur das "Erscheinungsbild" der Ausgabe — ihre Länge und ihr Zeichensatz.

Diese Einschränkung zeigt sich am deutlichsten im Verhältnis zwischen den Familien SHA-2 und SHA-3. SHA-256 und SHA3-256 besitzen völlig unterschiedliche interne Strukturen (SHA-2 verwendet eine Merkle-Damgård-Konstruktion, SHA-3 eine Schwamm-Konstruktion), sind aber beide so konzipiert, dass sie eine 256-Bit-Ausgabe erzeugen — also 64 Hexadezimalstellen. Dieselbe Beziehung besteht zwischen SHA-224/SHA3-224, SHA-384/SHA3-384 und SHA-512/SHA3-512, sodass die Ausgabelänge allein niemals klären kann, um welchen der beiden es sich handelt. Da SHA-2 in der Praxis weitaus verbreiteter ist, zeigt dieses Tool bei übereinstimmender Länge die SHA-2-Variante als bevorzugten Kandidaten an — dies bleibt letztlich aber nur eine statistische Vermutung.

Passwort-Hash-Algorithmen wie BCrypt und Argon2 lösen diese Mehrdeutigkeit hingegen, indem sie ein selbstbeschreibendes Format namens Modular Crypt Format verwenden. Zeichenfolgen wie $2b$12$... oder $argon2id$v=19$... betten Algorithmusname, Version und Parameter als Text am Anfang des Hashes ein, sodass sich allein aus dem Hash-Wert eindeutig rekonstruieren lässt, wie er berechnet wurde. Trifft man auf einen Hash in diesem Format, ist eine eindeutige Identifikation möglich.

Diese Art der Identifikationsarbeit wird in der Praxis tatsächlich benötigt — etwa bei der Untersuchung von Passwort-Dumps aus Legacy-Systemen oder bei kryptografischen Rätseln in CTF-Sicherheitswettbewerben (Capture The Flag). Kann der Algorithmus anhand eines Hash-Werts eingegrenzt werden, lässt sich effizient entscheiden, welches Analysewerkzeug oder welche Cracking-Methode als Nächstes versucht werden sollte — etwa welcher Angriffsmodus in Hashcat auszuwählen ist.