Hash-Generator.
SHA-256, SHA-512, SHA-1 und MD5 für Text oder Dateien — mit HMAC-Unterstützung, komplett in deinem Browser berechnet.
HMAC ist für die SHA-Familie verfügbar. MD5 wird im HMAC-Modus ausgeblendet.
— — — — — Was eine kryptografische Hashfunktion macht
Eine Hashfunktion verwandelt jede Eingabe — ein Wort, eine Datei, eine ganze Festplatte — in einen Fingerabdruck fester Länge. Dieselbe Eingabe erzeugt immer denselben Hash, aber die Umkehrung ist rechnerisch unmöglich, und schon das Ändern eines einzigen Bits der Eingabe verändert die Ausgabe komplett (der Lawineneffekt). Hashes prüfen Integrität: Stimmen zwei Digests überein, sind die Daten identisch.
Nicht für Passwörter
Schnelle Hashes wie SHA-256 sind das falsche Werkzeug zum Speichern von Passwörtern — ein Angreifer kann Milliarden Kandidaten pro Sekunde gegen eine gestohlene Datenbank durchprobieren. Passwörter gehören in einen bewusst langsamen, gesalzenen Passwort-Hash: Argon2, bcrypt oder scrypt. Wenn du zuerst ein starkes Passwort brauchst, probiere unseren Passwort-Generator.
Wofür Hashes verwendet werden
- Download-Prüfsummen — überprüfen, dass eine Datei unverändert und unversehrt angekommen ist.
- Git — jede Commit-ID ist ein Hash ihres Inhalts und Verlaufs.
- Digitale Signaturen & Zertifikate — Dokumente werden gehasht, dann wird der Hash signiert.
- Webhook- & API-Signaturen — HMACs beweisen, dass eine Anfrage vom richtigen Absender stammt.
Die Falle mit dem abschließenden Zeilenumbruch
Das häufigste „falscher Hash"-Rätsel: Das echo deines Terminals hängt einen Zeilenumbruch an, also hasht es andere Bytes, als du denkst. Dieses Tool hasht genau die Zeichen, die du eingibst — passend zu printf %s oder echo -n, nicht zum einfachen echo.
Hashing in deinem Code
# echo adds a newline — this hashes "abc\n"
echo "abc" | sha256sum
# hash exactly "abc" (matches this tool)
printf %s "abc" | sha256sum
# hash a file
sha256sum document.pdfconst data = new TextEncoder().encode("abc");
const digest = await crypto.subtle.digest("SHA-256", data);
const hex = [...new Uint8Array(digest)]
.map((b) => b.toString(16).padStart(2, "0"))
.join("");Häufige Fragen
Kann ich einen Hash wieder in den ursprünglichen Text entschlüsseln?
Welchen Hash-Algorithmus sollte ich verwenden?
Ist MD5 überhaupt noch sicher?
Warum unterscheidet sich mein Hash von dem, den mein Terminal erzeugt?
Was ist ein HMAC?
Warum bekomme ich für dieselbe Eingabe jedes Mal denselben Hash?
Ist es sicher, sensible Daten auf dieser Seite zu hashen?
Mehr kostenlose Tools
Alle Tools →Text und Dateien in Base64 umwandeln und zurück — UTF-8 und URL-sicher.
Tool öffnenURLs und Query-Parameter prozentkodieren und dekodieren — live.
Tool öffnenJSON validieren, formatieren und minifizieren — mit präzisen Fehlerstellen.
Tool öffnenKostenlose Tools von einem europäischen Software-Unternehmen.
- Läuft in deinem Browser
- In der EU gehostet
- Kein Konto nötig