Hash-Generator
MD5, SHA-1, SHA-256, SHA-384, SHA-512 mit mehreren Hash-Algorithmen unterstützt
Was ist ein Hash?
Ein Hash ist ein Algorithmus, der Daten beliebiger Länge auf einen Digest fester Länge abbildet. Gleiche Eingabe erzeugt immer gleiche Ausgabe, kleinste Eingabeänderung führt zu völlig anderer Ausgabe, und aus dem Hash-Wert kann nicht auf die ursprünglichen Daten zurückgeschlossen werden. Zu den gängigen Hash-Algorithmen gehören MD5, SHA-1, SHA-256, SHA-384 und SHA-512, die weit verbreitet für Datenintegritätsprüfung, Passwortspeicherung und digitale Signaturen eingesetzt werden. Bei Hashfunktionen muss zwischen Integritätsprüfung, schneller Identifikation und echter Sicherheit unterschieden werden. MD5 oder SHA-1 können für alte Prüfsummen auftauchen, sind aber für moderne Vertrauensentscheidungen schwach; SHA-256 und stärker sind üblichere Optionen. Hashes sind außerdem keine Verschlüsselung: Sie lassen sich nicht entschlüsseln, können aber bei schwachen Eingaben durch Wörterbücher erraten werden.
Anleitung
So wird's verwendet
- Wähle den Eingabemodus: Text eingeben oder Datei hochladen
- Gib Text ein oder ziehe eine Datei per Drag-and-Drop in das Feld
- Aktiviere die gewünschten Hash-Algorithmen (Mehrfachauswahl möglich)
- Klicke auf ‚Hash generieren‘ zur Berechnung
- Klicke auf ‚Kopieren‘, um einzelne Hashes zu speichern, oder auf ‚Alle kopieren‘ für alle Ergebnisse
Hinweise zu Hash-Werten
- Hash-Werte sind deterministische Fingerabdrücke – selbst eine einzige Byte-Änderung im Input ergibt ein anderes Ergebnis.
- Verwende SHA-256 oder stärkere Algorithmen für Integritätsprüfungen, wenn es auf Sicherheit ankommt, und verzichte bei neuen Sicherheits-Workflows auf MD5/SHA-1.
Anwendungsfälle
Technisches Prinzip
Eine kryptographische Hashfunktion bildet Eingaben beliebiger Länge auf einen Digest fester Länge ab, mit drei Sicherheitseigenschaften: Präimage-Resistenz (schwer zu invertieren), Zweite-Präimage-Resistenz (schwer, eine andere Eingabe mit demselben Digest zu finden) und Kollisionsresistenz (schwer, zwei beliebige Eingaben mit demselben Digest zu finden). MD5 (Rivest 1991, RFC 1321), SHA-1 (NIST FIPS 180-1, 1995) und die SHA-2-Familie (FIPS 180-4, 2012) sind allesamt Merkle-Damgård-Konstruktionen: Die Eingabe wird auf ein Vielfaches der Blockgröße aufgefüllt und dann durch eine Einweg-Kompressionsfunktion iteriert. Die Blockgröße beträgt 512 Bit für MD5, SHA-1 und SHA-256 sowie 1024 Bit für SHA-512. Digest-Größen: 128 / 160 / 256 / 384 / 512 Bit. MD5 (Rivest 1991) ist ein 128-Bit-Hash mit 64 Runden einer Quarter-Round mit vier 32-Bit-Chaining-Wörtern (A, B, C, D), wobei die Konstanten aus der Sinusfunktion abgeleitet sind (keine Sicherheitsbedeutung, nur zur Symmetriebrechung). Kollisionsangriffe: Wang et al. 2004 reduzierten die MD5-Kollisionssuche auf 2⁴⁰ Hash-Berechnungen (handberechnete differentielle Pfade); Stevens 2009 entwickelte ein Chosen-Prefix-Kollisionswerkzeug; die Flame-Malware 2012 nutzte einen neuartigen Chosen-Prefix-Angriff zur Fälschung eines Microsoft-Code-Signing-Zertifikats – der erste öffentlich bekannte MD5-Kollisionsangriff in freier Wildbahn. Heute kostet eine MD5-Kollision weniger als einen Dollar auf einer CPU und Millisekunden auf einer GPU. Für neue Protokolle SHA-256 verwenden. SHA-1 (FIPS 180-1, 2011 von NIST nach FIPS 180-4 als veraltet eingestuft) ist ein 160-Bit-Hash mit 80 Runden und fünf 32-Bit-Chaining-Wörtern. Der SHAttered-Angriff (Stevens et al., Februar 2017) erzeugte die erste praktische SHA-1-Kollision mit Kosten von ca. 6.500 CPU-Jahren und 110 GPU-Jahren. Bis 2020 waren Chosen-Prefix-Kollisionen für ca. 45.000 USD GPU-Zeit praktikabel, und bis 2025 liegen die Kollisionskosten auf handelsüblicher Hardware deutlich unter 10.000 USD. Git migrierte 2020 von SHA-1 zu SHA-256; HTTPS-Zertifikate durften seit 2017 kein SHA-1 mehr verwenden. Die Chosen-Prefix-Kollision SHAttered-Ausgabe ('SHAttered.pdf' und 'SHAttered2.pdf') ist der Standard-Testvektor: Ihre SHA-1-Digests stimmen überein, aber die Inhalte unterscheiden sich. SHA-2 (FIPS 180-4, 2012) umfasst sechs Hashes: SHA-1-Nachfolger SHA-224, SHA-256, SHA-384, SHA-512 plus zwei gekürzte Varianten SHA-512/256 und SHA-512/224. Intern verwendet SHA-256 sechs logische Funktionen (Ch, Maj, Σ0, Σ1, σ0, σ1) mit 64 Rundenkonstanten K[t] = ⌊∛(erste 32 Bit des Nachkommateils der t-ten Primzahl)⌋ – die Primzahlen-Kubikwurzel-Konstruktion ist rein ästhetisch und hat keine Sicherheitsfunktion. SHA-256 ist seit ca. 2010 der Arbeitsspferch und de-facto-Standard für TLS 1.3 (RFC 8446), Bitcoins Proof-of-Work (bis zu den Umstellungsdiskussionen 2025) und die meisten inhaltsadressierten Speicher. SHA-512/256 ist auf 64-Bit-Hardware schneller, da es 64-Bit-Wörter verwendet und SHA-512-Kompression ausführt und dann kürzt. SHA-3 (FIPS 202, 2014) und Keccak (die ursprüngliche Einreichung) verwenden eine grundlegend andere Struktur: die Keccak-f[1600]-Schwammkonstruktion mit einem 1600-Bit-Zustand und alternierenden Absorb/Squeeze-Phasen. SHA-3 hat dieselben Digest-Größen wie SHA-2, widersteht aber dem Length-Extension-Angriff, der Merkle-Damgård-Hashes betrifft – eine nützliche Eigenschaft beim Hashen eines geheimen Präfix-MAC. BLAKE2 (RFC 7693) ist schneller als SHA-256 in Software und wird von WireGuard, Argon2 und mehreren modernen Protokollen verwendet. Diese Seite führt SHA-1, SHA-256, SHA-384 und SHA-512 im Browser über SubtleCrypto.digest aus (das den nativen Code der Plattform aufruft – OpenSSL/BoringSSL bei Chromium, NSS bei Firefox, das Äquivalent bei Safari) und fällt auf eine reine-JS-MD5-Implementierung zurück, da SubtleCrypto MD5 nicht bereitstellt (gemäß dem W3C Web Crypto API hat MD5 den Status 'recommend-only'). Für eine 10-MB-Datei läuft SHA-256 in V8 mit ca. 400 MB/s auf einem modernen Laptop, während reines JS-MD5 mit ca. 100–150 MB/s läuft – die Web Crypto SHA-Familie ist 3–4× schneller als jede reine-JS-Implementierung, weshalb die Seite SHA-1+ über die native Schnittstelle leitet.
- MD5 (Rivest 1991, RFC 1321): 128-Bit-Digest, 512-Bit-Block, 64 Runden, Merkle-Damgård. Kollisionsangriff seit Wang 2004 (2⁴⁰ Aufwand) und Chosen-Prefix-Angriff in Flame 2012 – niemals für neuen Code verwenden, aber weiterhin geeignet für nicht-sicherheitskritische Prüfsummen, ETags, Content-Fingerprinting oder Cache-Keys.
- SHA-1 (FIPS 180-1, 1995; 2011 von FIPS 180-4 als veraltet eingestuft): 160-Bit-Digest. Die SHAttered-Kollision (Stevens et al., Feb. 2017) kostete ca. 6.500 CPU-Jahre; Chosen-Prefix-Kollisionen liegen heute unter 10.000 USD. Git migrierte 2020 zu SHA-256; CA/Browser Forum verbot SHA-1 in HTTPS-Zertifikaten 2017.
- SHA-256 (FIPS 180-4): 256-Bit-Digest, 64 Runden von Ch/Maj/Σ0/Σ1/σ0/σ1, 64 Rundenkonstanten K[t] abgeleitet aus ∛(Primzahl)-Nachkommateilen. Arbeitsspferch für TLS 1.3 (RFC 8446), die meisten inhaltsadressierten Speicher und Bitcoin-Mining. Die 256-Bit-Sicherheitsstufe ergibt ca. 128-Bit-Kollisionsresistenz.
- SHA-384/SHA-512 (FIPS 180-4): SHA-512 verwendet 64-Bit-Wörter, 80 Runden, 1024-Bit-Block. Etwa 1,5–2× schneller als SHA-256 auf 64-Bit-Hardware. SHA-384 ist SHA-512, gekürzt auf 384 Bit; SHA-512/256 ist SHA-512, gekürzt auf 256 Bit, mit besserer Length-Extension-Resistenz als SHA-256.
- SHA-3 (FIPS 202, 2014) / Keccak: Schwammkonstruktion mit Keccak-f[1600]-Permutation, 1088/832/576-Bit-Raten für SHA3-256/384/512. Widersteht Length-Extension-Angriffen, die Merkle-Damgård-Hashes betreffen – nützlich für geheime Präfix-MACs.
- BLAKE2 (RFC 7693) und BLAKE3 sind moderne schnelle Hashes; BLAKE2s ist die typische MAC-Schlüsselableitung, BLAKE2b wird von WireGuard und vielen Protokollen verwendet, und BLAKE3 fügt einen Merkle-Baum für paralleles Hashing hinzu. Stand 2025 nicht in Web Crypto verfügbar, daher stellt diese Seite sie nicht bereit.
- Web Crypto API (W3C): SubtleCrypto.digest('SHA-256', data) gibt ein Promise<ArrayBuffer> zurück, berechnet vom nativen Code der Plattform. Ca. 400 MB/s auf V8 für SHA-256, ca. 100–150 MB/s für reines JS-MD5 – die 3–4× Lücke ist der Grund, warum die Seite SHA-1+ über SubtleCrypto leitet.
- Length-Extension-Einschränkung: H(secret || message) ist für jeden Merkle-Damgård-Hash (MD5, SHA-1, SHA-2) fälschbar, wenn der Angreifer den Digest und die Nachrichtenlänge kennt. HMAC (RFC 2104) und SHA-3 vermeiden dies. Für MACs HMAC-SHA-256 oder KMAC verwenden; für Hashes nicht vertrauenswürdiger Eingaben ist der rohe Digest ausreichend.
Beispiele
FIPS 180-2 Testvektor: leere Zeichenkette und 'abc'
Eingabe: '' (leer, 0 Bytes)
MD5: d41d8cd98f00b204e9800998ecf8427e (32 Hex-Zeichen)
SHA-1: da39a3ee5e6b4b0d3255bfef95601890afd80709 (40 Hex-Zeichen)
SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 (64 Hex-Zeichen)
SHA-512: cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
Eingabe: 'abc' (3 Bytes, der kanonische FIPS-Testvektor)
MD5: 900150983cd24fb0d6963f7d28e17f72
SHA-1: a9993e364706816aba3e25717850c26c9cd0d89d
SHA-256: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
SHA-512: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
Die Ausgabelänge ist durch den Algorithmus festgelegt (MD5 128 Bit, SHA-1 160 Bit,
SHA-256 256 Bit, SHA-512 512 Bit), unabhängig von der Eingabelänge.FIPS 180-2 56-Byte-Testvektor (mehrere Blöcke)
Eingabe: 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq' (56 Bytes)
SHA-256: 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1
SHA-512: 8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018
50d1c9ef3504cabb287a00833cf81a7e (128 Hex-Zeichen - erste 64 dargestellt,
der Digest umfasst 64 Bytes / 1024 Bits)
Dieser 56-Byte-Vektor erstreckt sich über zwei 512-Bit-SHA-256-Blöcke und
beansprucht den Message Schedule (sigma_0 / sigma_1 Expansion der Wörter 16..63).
Er ist die NIST-CAVP-Referenzeingabe für SHA-256 und der kanonische
Weg, die korrekte Implementierung der Message-Schedule-Schleife zu bestätigen.
Wenn dies passt, funktionieren Block Padding, Längenanhang und finale Zustandsaddition.
SHA-512 verwendet dieselbe Merkle-Damgard-Struktur mit 64-Bit-Wortgröße und
einem 80-Schritt-Schedule, sodass dieselbe 56-Byte-Eingabe einen Digest
mit 128 Hex-Zeichen erzeugt.Avalanche-Effekt und Encoding-Falle
Eingabe: '' (leer) MD5: d41d8cd98f00b204e9800998ecf8427e
Eingabe: 'a' (ein Byte) MD5: 0cc175b9c0f1b6a831c399e269772661
Das Hinzufügen eines einzelnen Bytes ändert jedes Ausgabebit - das ist die
Avalanche-Eigenschaft. Dasselbe gilt für Groß-/Kleinschreibung (a -> A ändert 0x61 zu 0x41,
ein Bit an Position 0x20) und für nachgestellte Leerzeichen. Beachte auch, dass derselbe
sichtbare Text mit und ohne nachgestelltes '\n' oder UTF-8 BOM
(0xEF 0xBB 0xBF) zu unterschiedlichen Digests führt; deshalb erfordert das
Abgleichen einer veröffentlichten Prüfsumme die exakte Bytefolge, nicht nur die
sichtbaren Zeichen. Browser und Node leiten Zeichenketten zuerst durch TextEncoder,
um die Eingabebytes deterministisch zu machen; ein JS-MD5, das eine Zeichenkette
direkt akzeptiert, erzeugt für Nicht-ASCII-Eingaben falsche Hashes.Dateiintegritätsprüfung mit sha256sum
$ sha256sum ubuntu-24.04-desktop-amd64.iso
4d0c238817f7d74c93cfbe7939f8f7a4f9a0d0c7c0e8a6c4f9a0d0c7c0e8a6c4 *ubuntu-24.04-desktop-amd64.iso
1. Dieselbe .iso im Datei-Modus auf dieser Seite ablegen und SHA-256 wählen.
2. Den 64-Zeichen-Digest in das Vergleichsfeld kopieren.
3. Stimmen die Digests überein, ist der Download Byte für Byte identisch mit dem des Herausgebers.
Eine Abweichung bedeutet, dass die Datei beschädigt, unvollständig heruntergeladen
oder eine andere Version als die im Manifest ist.
Für dieselbe Datei liefern MD5 und SHA-1 jeweils einen 32- bzw. 40-Zeichen-Digest;
SHA-256 und SHA-512 liefern 64 bzw. 128 Zeichen. Vor dem Vergleich sicherstellen,
dass die Prüfsumme des Herausgebers denselben Algorithmus verwendet.FAQ
Welche Algorithmen unterstützt dieses Tool?
Typischerweise MD5, SHA-1, SHA-256, SHA-384, SHA-512 und manchmal SHA-3 / RIPEMD-160. SHA-256 ist die moderne Standardwahl; MD5 und SHA-1 sollten nur noch für nicht-sicherheitsrelevante Prüfsummen verwendet werden.
Ist Hashing dasselbe wie Verschlüsselung?
Nein. Hashing ist Einbahnstraße — aus dem Hash gibt es keinen Algorithmus, um die Originaleingabe zurückzugewinnen (außer Brute Force in einem kleinen Eingaberaum). Verschlüsselung ist mit einem Schlüssel umkehrbar. Nutze Hashing für Fingerabdrücke und Integritätsprüfungen, Verschlüsselung für Vertraulichkeit.
Wo wird die Eingabe gehasht?
Das gesamte Hashing läuft in deinem Browser über die Web Crypto API oder reine JS-Implementierungen. Es wird nichts an einen Server gesendet. Du kannst das im Netzwerk-Tab beim Einfügen der Eingabe prüfen.
Warum erzeugt dieselbe Eingabe auf einer anderen Seite einen anderen Hash?
Unterschiede entstehen meist durch Eingabe-Vorverarbeitung: Zeilenenden (CRLF vs. LF), abschließende Leerzeichen, Zeichenkodierung (UTF-8 vs. UTF-16) oder ein Tool, das automatisch ein Newline anhängt. Die Hash-Algorithmen selbst sind über Implementierungen hinweg deterministisch.
Kann ich einen Hash umkehren?
Mathematisch nein. Praktisch lassen sich kurze Eingaben aus einer kleinen Menge (gängige Passwörter, Wörterbuchwörter, kurze Zahlen) in vorberechneten Rainbow Tables nachschlagen. Für sensible Daten ist genau das der Grund, warum man salzt und einen langsamen Hash wie bcrypt oder Argon2 nutzt — dieses Tool ersetzt diese nicht.
Sollte ich Passwörter mit diesem Tool hashen?
Nein. SHA-256 allein ist viel zu schnell für die Passwortspeicherung. Nutze bcrypt, scrypt oder Argon2 mit einem Salt pro Benutzer und einem abgestimmten Work Factor. Hashes der SHA-Familie sind für Datei-Integrität, Content Addressing und Signatur-Eingaben richtig — nicht für Passwörter.
Warum haben Hashes unterschiedliche Längen?
Jeder Algorithmus hat eine feste Digest-Größe: MD5 hat 128 Bit (32 Hex-Zeichen), SHA-1 hat 160 Bit (40 Hex-Zeichen), SHA-256 hat 256 Bit (64 Hex-Zeichen), SHA-512 hat 512 Bit (128 Hex-Zeichen). Länger ist kollisionsresistenter, aber der Hash selbst braucht mehr Speicher.