Du hast einen Hash. Es ist eine lange Zeichenfolge aus Hexadezimalzeichen, oder vielleicht hat es ein seltsames Präfix wie „ $2b$. Sie müssen wissen, welcher Algorithmus es erstellt hat – für eine CTF-Herausforderung, eine Sicherheitsüberprüfung, eine Passwortwiederherstellung oder einfach nur aus Neugier.

Hier ist der definitive Leitfaden zur Identifizierung jedes Hash-Typs anhand seiner Länge, seines Zeichensatzes und seines Formats.

Was ist ein Hash?

Ein Hash ist eine Zeichenfolge fester Länge, die durch eine mathematische Einwegfunktion erzeugt wird. Geben Sie jede Eingabe – ein Passwort, eine Datei, eine Nachricht – in einen Hashing-Algorithmus ein und Sie erhalten einen eindeutigen Fingerabdruck mit fester Größe. Die gleiche Eingabe erzeugt immer die gleiche Ausgabe, aber Sie können den Vorgang nicht umkehren, um die ursprüngliche Eingabe wiederherzustellen.

Hash-Funktionen werden überall eingesetzt: Speichern von Passwörtern in Datenbanken, Überprüfen der Dateiintegrität, digitale Signaturen und Datendeduplizierung.

So identifizieren Sie einen Hash: Die schnelle Methode

Der schnellste Weg, einen Hash zu identifizieren, ist seine Zeichenanzahl und Zeichensatz. Die meisten Hashes bestehen aus hexadezimalen Zeichen (0–9, a–f), aber einige Algorithmen wie bcrypt und SHA-512 crypt verwenden ein breiteres Base64-Alphabet.

Schritt 1: Zählen Sie die Zeichen. Schritt 2: Beachten Sie den Zeichensatz (nur Hex oder alphanumerisch+speziell). Schritt 3: Suchen Sie nach einem Präfix (bcrypt beginnt mit $2b$, SHA-512-Verschlüsselung beginnt mit $6$).

Oder nutzen Sie einfach unsere Hash-Identifizierungstool , um es automatisch zu identifizieren.

Hash Identification Reference Table

Hash-Typ Länge Zeichensatz Präfix / Anmerkungen
MD5 32 Hex (0-9, a-f) Kein Präfix
SHA-1 40 Hex Kein Präfix
SHA-224 56 Hex Kein Präfix
SHA-256 64 Hex Kein Präfix
SHA-384 96 Hex Kein Präfix
SHA-512 128 Hex Kein Präfix
SHA3-256 64 Hex Von der Länge her nicht von SHA-256 zu unterscheiden
SHA3-512 128 Hex Von der Länge her nicht von SHA-512 zu unterscheiden
NTLM 32 Hex Gleiche Länge wie MD5 – der Kontext ist wichtig
MySQL 4.1+ 40 Hex Manchmal mit dem Präfix *
bcrypt 60 Base64-Alphabet Beginnt mit $2a$, $2b$, oder $2y$
SHA-512 Krypta 106 Base64-Alphabet Beginnt mit $6$
SHA-256 Krypta 63 Base64-Alphabet Beginnt mit $5$
MD5 Krypta 34 Base64-Alphabet Beginnt mit $1$
Argon2 Variabel Base64 + $ Beginnt mit $argon2id$ oder $argon2i$
verschlüsseln Variabel Base64 + $ Beginnt mit $s0$
PBKDF2 Variabel Base64 oder Hex Wird oft vorangestellt pbkdf2_sha256$
LM-Hash 32 Hex Windows Legacy – zwei 16-stellige Hälften
CRC32 8 Hex Sehr kurz – 4 Bytes
Whirlpool 128 Hex Weniger häufig
RIPEMD-160 40 Hex Gleiche Länge wie SHA-1
Adler-32 8 Hex Prüfsumme, kein kryptografischer Hash

Identifizieren der häufigsten Hashes

MD5 (32 Hex-Zeichen)

Befehl
5f4dcc3b5aa765d61d8327deb882cf99

MD5 ist der am häufigsten vorkommende Hash. 32 hexadezimale Kleinbuchstaben, kein Präfix. Es wurde häufig zur Passwortspeicherung verwendet, gilt heute jedoch als kryptografisch fehlerhaft – es ist schnell zu berechnen, was Brute-Force-Angriffe trivial macht.

Häufig bei: Ältere Web-Apps, Dateiprüfsummen, CTF-Herausforderungen, Datenbank-Passwort-Dumps.

Einschränkung: MD5 und NTLM sind beide 32 Hexadezimalzeichen. Wenn Sie einen 32-Zeichen-Hash von einem Windows-System finden, handelt es sich wahrscheinlich um NTLM. Bei einer Web-App handelt es sich wahrscheinlich um MD5.

SHA-1 (40 Hex-Zeichen)

Befehl
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8

40 Hexadezimalzeichen. Seit 2017 für die meisten Sicherheitszwecke veraltet, aber in älteren Systemen, Git-Commits, SSL-Zertifikaten (Legacy) und Dateiprüfsummen immer noch üblich.

Häufig bei: Git-Objekt-IDs, ältere SSL-Zertifikate, Tools zur Dateiüberprüfung.

SHA-256 (64 Hex-Zeichen)

Befehl
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

Der aktuelle Standard für die meisten Anwendungen. 64 Hexadezimalzeichen. Wird in Bitcoin (doppeltes SHA-256), JWT-Signaturen, modernen Passwortspeicher-Wrappern und TLS verwendet.

Häufig bei: Blockchain, API-Signaturen, Passwortspeicherung (häufig verpackt in PBKDF2 oder HMAC), Überprüfung der Dateiintegrität.

SHA-512 (128 Hex-Zeichen)

Befehl
b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86

128 Hexadezimalzeichen. Stärker, aber langsamer als SHA-256. Wird in einigen Linux-Passwort-Hashing-Programmen verwendet (/etc/shadow) und Hochsicherheitsanwendungen.

bcrypt (60 Zeichen, Base64-ähnlich)

Befehl
$2b$12$EixZaYVK1fsbw1ZfbX3OXePaWxn96p36WQoeG6Lruj3vjPGga31lW

Das bekannteste Hash-Format aufgrund seines strukturierten Präfixes:

  • $2b$ (oder $2a$, $2y$) – Algorithmusversion
  • 12 – Kostenfaktor (Arbeitsfaktor), wie viele Runden
  • Alles danach – 53-stelliges Salt + Hash kombiniert

bcrypt ist bewusst langsam. Mit einer GPU lässt sich die Geschwindigkeit nicht steigern – deshalb ist sie die richtige Wahl für das Passwort-Hashing. Wenn Sie eine 60-stellige Zeichenfolge sehen, die mit beginnt $2, es ist bcrypt.

Häufig bei: PHP-Apps (password_hash()), Ruby on Rails, die meisten modernen Web-Frameworks.

NTLM (32 Hex-Zeichen)

Befehl
b4b9b02e6f09a9bd760f388b67351e2b

Optisch identisch mit MD5 – 32 hexadezimale Kleinbuchstaben. NTLM ist der alte Authentifizierungs-Hash von Windows. Wenn Sie CTF durchführen oder Windows-Systeme pentestieren, werden diese häufig angezeigt.

So unterscheiden Sie MD5 von NTLM: Kontext. NTLM stammt aus Windows SAM-Datenbanken, Active Directory oder Tools wie Mimikatz. MD5 stammt normalerweise aus Webanwendungsdatenbanken.

Argon2 (variable Länge, strukturiertes Präfix)

Befehl
$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+dWRWJTmaaJObG

Der Gewinner des Passwort-Hashing-Wettbewerbs 2015. Entwickelt, um speicherfest zu sein und somit resistent gegen GPU- und ASIC-basierte Angriffe zu sein. Moderne Frameworks (Django 4+, PHP 8.1+ nativ) übernehmen Argon2id.

Präfixaufschlüsselung: $argon2id$ = Variante, v=19 = Version, m=65536 = Speicherkosten, t=3 = Zeitaufwand, p=4 = Parallelität.

So identifizieren Sie einen Hash, wenn die Länge allein nicht ausreicht

Einige Hashes haben identische Längen und Zeichensätze:

Kollision Wie man unterscheidet
MD5 vs. NTLM (32 Hex) Quellkontext – Windows = NTLM, Web-DB = MD5
SHA-1 vs. RIPEMD-160 (40 Hex) RIPEMD-160 ist viel seltener; SHA-1 ist die sichere Schätzung
SHA-256 vs. SHA3-256 (64 Hex) Benötigen Sie Algorithmus-Metadaten oder Tools
SHA-512 vs. SHA3-512 vs. Whirlpool (128 Hex) Benötigen Sie Kontext oder Hash-ID-Tool

Wenn die Länge allein das Problem nicht lösen kann, müssen Sie:

  1. Überprüfen Sie das Quellsystem (Betriebssystem, App-Framework, Datenbank)
  2. Versuchen Sie, einen bekannten Wert zu knacken, um den Algorithmus zu bestätigen
  3. Verwenden Sie ein Hash-Identifizierungstool, das mehrere Algorithmen testet

Verwendung eines Hash-Identifizierungstools

Anstatt die Zeichen manuell zu zählen, verwenden Sie unsere Hash-Identifikator – Fügen Sie einen beliebigen Hash ein und es wird:

  • Vergleichen Sie Länge und Zeichensatz mit allen bekannten Algorithmen
  • Markieren Sie die wahrscheinlichsten Kandidaten
  • Markieren Sie Präfixformate (bcrypt, SHA-crypt, Argon2) automatisch

Dies ist besonders nützlich für CTF-Herausforderungen, bei denen Sie auf unbekannte Hash-Formate stoßen oder mehrere Hashes schnell verarbeiten müssen.

Szenarien aus der realen Welt

Szenario 1: Sie haben einen Datenbank-Dump

Sie finden eine Benutzertabelle mit einem password Spalte mit 60-stelligen Zeichenfolgen, beginnend mit $2b$. Dies sind Bcrypt-Hashes. Modern und richtig implementiert – sie zu knacken ist rechenintensiv.

Szenario 2: CTF-Herausforderung – Sie finden eine Hash-Datei

Befehl
098f6bcd4621d373cade4e832627b4f6

32 Hex-Zeichen → MD5. Die Zeichenfolge test Hashes auf diesen Wert in MD5. Ein schneller Wortlistenangriff mit Hashcat oder John knackt gängige Passwörter sofort.

Befehl
hashcat -m 0 -a 0 hash.txt wordlist.txt

Modus -m 0 ist MD5. Wenn es SHA-1 wäre, verwenden Sie -m 100. SHA-256 ist -m 1400.

Szenario 3: Linux /etc/shadow

Befehl
$6$rounds=5000$usesomesalt$IxDD3jerizQ5s/bS3FbSsO6hMGFjfSKNBWENHyJ7FXKC4XiuT3pOlLGEBpRiuJ3QGJlyXfS4uNIaVpqEcF2b.

Beginnt mit $6$ → SHA-512 Krypta. Das Format ist: $id$salt$hash wobei id=6 SHA-512 bedeutet.

ID Algorithmus
$1$ MD5-Krypta
$5$ SHA-256 Krypta
$6$ SHA-512 Krypta
$y$ jacrypt
$2b$ bcrypt

Hashcat Mode Reference

Wenn Sie Hashes knacken (auf Systemen, die Sie testen dürfen), finden Sie hier die Hashcat-Modi für die gängigsten Typen:

Hash-Typ Hashcat-Modus
MD5 0
SHA-1 100
SHA-256 1400
SHA-512 1700
NTLM 1000
bcrypt 3200
SHA-512 Krypta ($6$) 1800
MySQL 4.1+ 300
WPA/WPA2 2500

Spickzettel zur schnellen Identifizierung

  • 8 Zeichen, Hex → CRC32 oder Adler-32 (Prüfsumme, nicht Krypto)
  • 32 Zeichen, Hex → MD5 oder NTLM
  • 40 Zeichen, hexadezimal → SHA-1 oder RIPEMD-160
  • 56 Zeichen, Hex → SHA-224
  • 64 Zeichen, hexadezimal → SHA-256 oder SHA3-256
  • 96 Zeichen, hexadezimal → SHA-384
  • 128 Zeichen, hexadezimal → SHA-512, SHA3-512 oder Whirlpool
  • 60 Zeichen, beginnt mit $2 → bcrypt
  • Beginnt mit $1$ → MD5-Krypta
  • Beginnt mit $5$ → SHA-256-Krypta
  • Beginnt mit $6$ → SHA-512 Krypta
  • Beginnt mit $argon2 → Argon2
  • Beginnt mit pbkdf2_ → PBKDF2

Identifizieren Sie jetzt Ihren Hash

Nutzen Sie unser kostenloses Hash-Identifizierungstool – Fügen Sie einen beliebigen Hash ein und erhalten Sie eine sofortige Identifizierung mit Konfidenzwerten und wahrscheinlichen Algorithmen.

Verwandte Tools und Anleitungen: