Hash-Identifikation bezeichnet den Prozess, bei dem ermittelt wird, welcher kryptografische Hash-Algorithmus einen bestimmten Digest erzeugt hat. Kryptografische Hash-Funktionen wie MD5, SHA-1 und SHA-256 produzieren jeweils Ausgaben fester Länge, und genau diese Ausgabelänge ist das primäre Erkennungsmerkmal eines unbekannten Hashes. Wenn du in einem Datenbankdump, einer Konfigurationsdatei oder einer API-Antwort auf eine hexadezimale Zeichenkette stößt, verrät dir ein Hash-Identifier-Tool, welcher Algorithmus sie wahrscheinlich erzeugt hat.
Jeder Hash-Algorithmus bildet beliebige Eingabedaten auf eine Ausgabe fester Größe ab, den sogenannten Digest. MD5 erzeugt stets 128 Bit (32 Hex-Zeichen), SHA-1 stets 160 Bit (40 Hex-Zeichen) und SHA-256 stets 256 Bit (64 Hex-Zeichen). Diese deterministische Ausgabelänge ermöglicht die algorithmische Identifikation, ohne dass Zugriff auf die ursprüngliche Eingabe oder den Hashing-Code erforderlich ist.
Die Identifikation allein anhand der Länge ist nicht immer eindeutig. Mehrere Algorithmen teilen dieselbe Ausgabegröße — SHA-256 und SHA3-256 erzeugen beide 64-stellige Hex-Digests. In solchen Fällen liefert ein Hash-Identifier eine nach Häufigkeit geordnete Liste von Kandidaten-Algorithmen. Kontexthinweise wie das Quellsystem, das Kodierungsformat (Hex vs. Base64) und vorhandene Algorithmus-Präfixe (z. B. '$2b$' bei bcrypt) grenzen die Möglichkeiten weiter ein.
Warum einen Hash Identifier verwenden?
Unbekannte Hashes begegnen einem regelmäßig bei Sicherheitsaudits, Datenbankmigrationen und forensischen Analysen. Ein Hash Identifier beseitigt das Rätselraten und liefert innerhalb von Sekunden den korrekten Algorithmus.
⚡
Sofortige Erkennung
Hash einfügen und sofort Kandidaten-Algorithmen erhalten. Kein manuelles Zählen von Zeichen oder Nachschlagen in Referenztabellen — das Tool ordnet die Hex-Länge automatisch allen passenden Algorithmen zu.
🔒
Datenschutzorientierte Analyse
Die gesamte Identifikation läuft vollständig im Browser per JavaScript. Der Hash-Wert verlässt dein Gerät nie — das ist besonders wichtig, wenn du Passwort-Hashes, Authentifizierungs-Token oder sensible forensische Beweise analysierst.
📋
Vollständige Algorithmus-Abdeckung
Erkennt MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 sowie deren SHA-3-Entsprechungen. Die Referenztabelle umfasst die gesamten SHA-2- und SHA-3-Familien sowie gängige Alternativen wie RIPEMD-160 und BLAKE2.
🚫
Kein Konto und keine Installation
Funktioniert sofort in jedem modernen Browser. Kein Registrieren, kein API-Key, kein CLI-Tool zum Installieren. Setze ein Lesezeichen und nutze es, wann immer du auf einen unbekannten Hash stößt — auf jedem Betriebssystem, auf jedem Gerät.
Anwendungsfälle für den Hash Identifier
Sicherheitsaudits
Bei Penetrationstests gibt die Identifikation von Passwort-Hash-Algorithmen in geleakten Datenbanken die Richtung für den Cracking-Ansatz vor. MD5- und SHA-1-Hashes weisen auf schwachen Schutz hin und können bevorzugt zur Behebung eingeplant werden.
Datenbankmigration
Beim Migrieren von Benutzerdatensätzen zwischen Systemen muss der gespeicherte Passwort-Hash-Algorithmus bekannt sein, um die neue Authentifizierungsschicht korrekt zu konfigurieren. Eine falsche Identifikation des Algorithmus führt dazu, dass alle Anmeldungen fehlschlagen.
DevOps und CI/CD
Build-Pipelines enthalten häufig Prüfsummen zur Artefaktverifizierung. Die Erkennung, ob eine Prüfsumme SHA-256 oder SHA-512 ist, stellt sicher, dass du in deinen Deployment-Skripten den richtigen Verifizierungsbefehl verwendest.
Digitale Forensik
Forensische Ermittler begegnen Hash-Digests in Datei-Integritätsprotokollen, Blockchain-Einträgen und Beweismetadaten. Die Identifikation des Algorithmus ist eine Voraussetzung für die Verifizierung der Beweis-Nachvollziehbarkeit.
API-Integration
APIs von Drittanbietern geben manchmal Hash-Werte zurück, ohne den verwendeten Algorithmus zu dokumentieren. Die Identifikation des Hash-Typs aus der Antwort ermöglicht es, die Webhook-Signaturprüfung oder Prüfsummenvalidierung korrekt zu konfigurieren.
Kryptografie erlernen
Studierende in Kryptografie-Kursen können Hashes, die von verschiedenen Algorithmen erzeugt wurden, einfügen und sofort den Zusammenhang zwischen Algorithmenwahl, Ausgabelänge und Sicherheitseigenschaften erkennen.
Referenztabelle: Hash-Algorithmus-Längen
Die folgende Tabelle ordnet jeden gängigen Hash-Algorithmus seiner Ausgabegröße in Bits, Hex-Zeichen und rohen Bytes zu. Dies ist die primäre Nachschlagetabelle, die von Hash-Identifikations-Tools verwendet wird. Wenn mehrere Algorithmen dieselbe Hex-Länge teilen, wird zusätzlicher Kontext benötigt, um sie zu unterscheiden.
Algorithmus
Bits
Hex-Zeichen
Bytes
Hinweise
MD5
128
32
16
Broken — collisions trivial since 2004
SHA-1
160
40
20
Deprecated — SHAttered attack (2017)
SHA-224
224
56
28
Truncated SHA-256; rarely used standalone
SHA-256
256
64
32
Current standard; TLS, Git, Bitcoin
SHA-384
384
96
48
Truncated SHA-512; CNSA Suite approved
SHA-512
512
128
64
Maximum SHA-2 output; large-data hashing
SHA3-256
256
64
32
Keccak-based; NIST alternative to SHA-2
SHA3-512
512
128
64
Keccak-based; highest SHA-3 strength
RIPEMD-160
160
40
20
Used in Bitcoin address derivation
BLAKE2s
256
64
32
Faster than SHA-256; 256-bit output
Mehrdeutige Hash-Längen auflösen
Manche Hex-Längen passen zu mehreren Algorithmen. Die zwei häufigsten Mehrdeutigkeiten sind 64-stellige Hashes (SHA-256 vs. SHA3-256) und 40-stellige Hashes (SHA-1 vs. RIPEMD-160). So lassen sie sich unterscheiden, wenn die Länge allein nicht ausreicht.
64 Hex-Zeichen: SHA-256 vs. SHA3-256
Beide erzeugen 256-Bit-Digests (64 Zeichen). SHA-256 ist in der Praxis bei weitem verbreiteter — Git-Commits, TLS-Zertifikate, Bitcoin-Blöcke und die meisten API-Signaturen verwenden SHA-256. SHA3-256 findet sich typischerweise nur in Systemen, die explizit NIST SP 800-185-Konformität oder Keccak-basierte Konstruktionen erfordern. Die Dokumentation des Quellsystems klärt den Sachverhalt.
40 Hex-Zeichen: SHA-1 vs. RIPEMD-160
SHA-1 ist der bei weitem häufigere 160-Bit-Hash — historisch eingesetzt in Git (vor der SHA-256-Umstellung), TLS und Code-Signing. RIPEMD-160 tritt hauptsächlich bei der Bitcoin-Adressgenerierung auf (HASH160 = SHA-256, gefolgt von RIPEMD-160). Stammt der Hash aus einem Kryptowährungs-Kontext, kommt RIPEMD-160 in Betracht; andernfalls ist SHA-1 der wahrscheinlichere Kandidat.
Code-Beispiele
Nachfolgend sind funktionierende Implementierungen der Hash-Identifikation anhand der Hex-Länge in vier Sprachen aufgeführt. Jede Funktion validiert die Hex-Kodierung, schlägt die Zeichenanzahl nach und gibt alle passenden Algorithmen zurück.
package main
import (
"fmt"
"regexp"
)
var hexPattern = regexp.MustCompile("^[0-9a-fA-F]+$")
var hashLengths = map[int][]string{
32: {"MD5"},
40: {"SHA-1", "RIPEMD-160"},
56: {"SHA-224", "SHA3-224"},
64: {"SHA-256", "SHA3-256", "BLAKE2s"},
96: {"SHA-384", "SHA3-384"},
128: {"SHA-512", "SHA3-512", "BLAKE2b"},
}
func identifyHash(hex string) []string {
if !hexPattern.MatchString(hex) {
return []string{"Not a hex-encoded hash"}
}
if algos, ok := hashLengths[len(hex)]; ok {
return algos
}
return []string{fmt.Sprintf("Unknown (%d hex chars)", len(hex))}
}
func main() {
fmt.Println(identifyHash("d41d8cd98f00b204e9800998ecf8427e"))
// → [MD5]
}
CLI (Bash)
#!/bin/bash
# Identify a hash from the command line by character count
hash="$1"
if [[ ! "$hash" =~ ^[0-9a-fA-F]+$ ]]; then
echo "Not a hex-encoded hash"
exit 1
fi
len=${#hash}
case $len in
32) echo "MD5 (128-bit)" ;;
40) echo "SHA-1 or RIPEMD-160 (160-bit)" ;;
56) echo "SHA-224 or SHA3-224 (224-bit)" ;;
64) echo "SHA-256 or SHA3-256 (256-bit)" ;;
96) echo "SHA-384 or SHA3-384 (384-bit)" ;;
128) echo "SHA-512 or SHA3-512 (512-bit)" ;;
*) echo "Unknown hash length: $len chars" ;;
esac
# Usage: ./identify.sh d41d8cd98f00b204e9800998ecf8427e
# → MD5 (128-bit)
Häufig gestellte Fragen
Wie funktioniert Hash-Identifikation?
Die Hash-Identifikation basiert in erster Linie auf der Länge des hex-kodierten Digests. Jeder Hash-Algorithmus erzeugt eine feste Anzahl von Ausgabe-Bits: MD5 gibt 128 Bits aus (32 Hex-Zeichen), SHA-1 gibt 160 Bits aus (40 Hex-Zeichen), SHA-256 gibt 256 Bits aus (64 Hex-Zeichen) usw. Der Identifier misst die Zeichenkettenlänge, prüft, ob sie ausschließlich hexadezimale Zeichen enthält, und ordnet sie bekannten Algorithmus-Ausgabegrößen zu.
Kann ein Hash Identifier den genauen Algorithmus mit Sicherheit bestimmen?
Nicht immer. Mehrere Algorithmen können dieselbe Ausgabelänge erzeugen. SHA-256 und SHA3-256 geben beide 64 Hex-Zeichen aus. SHA-1 und RIPEMD-160 geben beide 40 Hex-Zeichen aus. In diesen Fällen gibt das Tool alle Kandidaten zurück. Du benötigst Kontext — das Quellsystem, Dokumentation oder Algorithmus-Präfixe — um auf einen einzelnen Algorithmus einzugrenzen.
Was, wenn mein Hash Base64-kodiert statt hex ist?
Base64-kodierte Hashes verwenden einen anderen Zeichensatz (A-Z, a-z, 0-9, +, /) und haben andere Längen als ihre Hex-Entsprechungen. Ein 256-Bit-Hash umfasst 44 Base64-Zeichen, aber 64 Hex-Zeichen. Dekodiere die Base64-Zeichenkette zunächst in rohe Bytes und prüfe dann die Byte-Länge: 16 Bytes = MD5, 20 Bytes = SHA-1, 32 Bytes = SHA-256, 48 Bytes = SHA-384, 64 Bytes = SHA-512.
Ist es sicher, Passwort-Hashes in einen Online-Identifier einzufügen?
Dieses Tool läuft vollständig im Browser — es werden keine Daten an einen Server übertragen. Der Hash verlässt dein Gerät nie. Für maximale operative Sicherheit bei einem formellen Audit kannst du dies überprüfen, indem du den Netzwerk-Tab in den Entwicklertools deines Browsers inspizierst oder das Tool offline verwendest, nachdem die Seite geladen wurde.
Warum wird MD5 noch verwendet, obwohl es kryptografisch gebrochen ist?
MD5 ist in Bezug auf Kollisionsresistenz gebrochen — ein Angreifer kann zwei unterschiedliche Eingaben konstruieren, die denselben Hash erzeugen. MD5 wird jedoch weiterhin in sicherheitsunkritischen Kontexten eingesetzt: Datei-Prüfsummen zur Download-Verifizierung, Cache-Keys, Deduplizierung und ETags in HTTP. Für diese Zwecke sind zufällige Kollisionen astronomisch unwahrscheinlich, und gezielte Angriffe sind keine Gefahr. MD5 darf nicht für Passwort-Hashing, digitale Signaturen oder Zertifikatsprüfung verwendet werden.
Wie erkenne ich bcrypt-, scrypt- oder Argon2-Hashes?
Passwort-Hashing-Funktionen wie bcrypt, scrypt und Argon2 verwenden charakteristische Zeichenketten-Präfixe statt roher Hex-Ausgabe. Bcrypt-Hashes beginnen mit '$2a$', '$2b$' oder '$2y$', gefolgt von einem Kostenfaktor. Argon2-Hashes beginnen mit '$argon2id$' oder '$argon2i$'. Scrypt-Hashes beginnen typischerweise mit '$scrypt$'. Da es sich nicht um rohe kryptografische Digests handelt, gilt die längenbasierte Identifikation nicht — das Präfix selbst identifiziert den Algorithmus.
Was ist der Unterschied zwischen SHA-2 und SHA-3?
SHA-2 (einschließlich SHA-256, SHA-384 und SHA-512) basiert auf der Merkle-Damgård-Konstruktion, die von der NSA entworfen und in FIPS 180-4 standardisiert wurde. SHA-3 (SHA3-256, SHA3-384, SHA3-512) basiert auf der Keccak-Schwamm-Konstruktion, die aus einem öffentlichen NIST-Wettbewerb hervorging und in FIPS 202 standardisiert wurde. Beide erzeugen bei gleichen Sicherheitsniveaus identische Ausgabelängen, verwenden jedoch grundlegend unterschiedliche interne Strukturen. SHA-3 wurde als Fallback konzipiert, falls strukturelle Schwächen in SHA-2 entdeckt werden — bisher wurden jedoch keine derartigen Schwächen nachgewiesen.