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)
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)
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)
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)
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)
$2b$12$EixZaYVK1fsbw1ZfbX3OXePaWxn96p36WQoeG6Lruj3vjPGga31lW
Das bekannteste Hash-Format aufgrund seines strukturierten Präfixes:
$2b$(oder$2a$,$2y$) – Algorithmusversion12– 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)
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)
$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:
- Überprüfen Sie das Quellsystem (Betriebssystem, App-Framework, Datenbank)
- Versuchen Sie, einen bekannten Wert zu knacken, um den Algorithmus zu bestätigen
- 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
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.
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
$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: