Kostenloser Hash-Generator
Generieren Sie MD5-, SHA-1-, SHA-256-, SHA-384- und SHA-512-Hashes.
Ergebnis
Was eine kryptografische Hashfunktion wirklich ist
Eine kryptografische Hashfunktion nimmt eine Eingabe beliebiger Größe und liefert eine Ausgabe fester Größe, genannt Hash, Digest oder Fingerabdruck. Dieselbe Eingabe ergibt immer denselben Hash; eine Ein-Bit-Änderung in der Eingabe ergibt einen drastisch anderen Hash (der „Avalanche-Effekt“); und die Funktion ist rechnerisch praktisch nicht invertierbar, gegeben einen Hash, kannst du in der Praxis die Eingabe, die ihn erzeugte, nicht finden. Drei Resistenz-Eigenschaften machen eine Hashfunktion „kryptografisch“: Preimage-Resistenz (gegeben einen Hash h, praktisch unmöglich, eine Eingabe m zu finden mit hash(m) = h), Second-Preimage-Resistenz (gegeben m1, praktisch unmöglich, ein anderes m2 mit demselben Hash zu finden) und Kollisionsresistenz (praktisch unmöglich, zwei verschiedene Eingaben mit demselben Hash zu finden). Eine Funktion, die ihre Kollisionsresistenz verliert, kann für manche Zwecke (Dateiintegrität) noch sicher sein, für andere (digitale Signaturen) aber nicht. MD5 und SHA-1 fallen genau in diesen Eimer: Kollisionen geknackt, aber Preimage-Resistenz hält.
Eine kurze Geschichte von MD5, SHA-1, SHA-2 und SHA-3
MD2 / MD4 / MD5 sind das Werk von Ron Rivest am MIT und bei RSA Data Security. MD2 wurde 1989 veröffentlicht; MD4 1990; MD5 wurde 1991 veröffentlicht und im April 1992 als RFC 1321 standardisiert. MD5 war ein Jahrzehnt lang der dominierende Hash, Standard für Download-Checksummen, Passwort-Speicherung, Datei-Deduplikation und inhaltsadressierbare Systeme. Der erste Warnschuss fiel 1995, als Hans Dobbertin einen Volle-Runden-Kollisionsangriff auf MD4, den Vorgänger von MD5, veröffentlichte; die erste praktische Volle-MD5-Kollision kam im August 2004, als Wang und Yu zwei kollidierende 128-Byte-Nachrichten ankündigten; Vlastimil Klima beschleunigte 2006 das Auffinden von MD5-Kollisionen auf handelsüblicher Hardware von Stunden auf Sekunden. Marc Stevens demonstrierte zusammen mit Forschenden der TU Eindhoven und der EPFL im Dezember 2008 auf dem 25C3 eine Chosen-Prefix-MD5-Kollision, indem er ein gefälschtes RapidSSL-CA-Zertifikat erzeugte. Bis zur Flame-Malware 2012, die eine MD5-Kollision nutzte, um Microsoft-Update-Zertifikate zu fälschen, war MD5 für jeden sicherheitsrelevanten Einsatz vollständig gebrochen.
SHA („Secure Hash Algorithm“) ist eine Familie der US-amerikanischen NSA. SHA-0 wurde im Mai 1993 als FIPS 180 veröffentlicht und innerhalb eines Jahres wegen nicht spezifizierter Designfehler zurückgezogen. SHA-1 folgte als FIPS 180-1 im April 1995, mit einer Ein-Bit-Änderung im Message Schedule, die die NSA nie öffentlich erklärte. SHA-1 wurde der Standardhash der späten 1990er und der 2000er, eingesetzt von Git für Commit-Hashes, von SSL/TLS-Zertifikaten, von praktisch jedem Signaturschema. Der erste theoretische Kollisionsangriff kam 2005 (Wang, Yin, Yu); eine Freestart-Kollision 2015 (Stevens, Karpman, Peyrin); und die erste volle SHA-1-Kollision wurde am 23. Februar 2017 als „SHAttered“ ausgeliefert (Stevens, Bursztein, Karpman, Albertini, Markov), die zwei verschiedene PDF-Dateien mit demselben SHA-1-Hash erzeugte. Bis Januar 2020 machte der Chosen-Prefix-Angriff „SHA-1 is a Shambles“ (Leurent und Peyrin, Gesamtkosten rund 45 000 USD GPU-Miete) Zertifikatsfälschung erschwinglich und beschleunigte damit den Übergang zu SHA-256, den das Git-Projekt bereits 2018 zu planen begonnen hatte. SHA-1 ist nun vom NIST formal für digitale Signaturen und Zertifikate als veraltet eingestuft.
SHA-2 ist die Familie, die SHA-1 ersetzte: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256, im August 2002 als FIPS 180-2 veröffentlicht. SHA-2 war ein defensives Design, größere Ausgabegrößen, mehr Runden, größerer interner Zustand, und dreiundzwanzig Jahre später ist es ungeknackt geblieben. SHA-256 ist der moderne Standard für digitale Signaturen, Zertifikate, JWT, Bitcoin-Block-Hashes, inhaltsadressierbaren Speicher und die meiste Datei-Integritätsprüfung. SHA-3 ist ein grundlegend anderes Design, die Keccak-Schwammkonstruktion von Bertoni, Daemen, Peeters und Van Assche, ausgewählt in einem fünfjährigen NIST-Wettbewerb, der 2007 eröffnet und im Oktober 2012 von Keccak gewonnen wurde; im August 2015 als FIPS 202 veröffentlicht. SHA-3 ist kein Ersatz für SHA-2 (SHA-2 ist noch sicher); es ist eine Defense-in-Depth-Alternative mit komplett anderer interner Struktur, sodass ein zukünftiger kryptanalytischer Bruch von SHA-2 SHA-3 nicht zwingend träfe. Dieses Tool gibt SHA-1, SHA-256, SHA-384 und SHA-512 aus (die von der Web Crypto API unterstützte Menge) plus MD5 (über eine JavaScript-Implementation, da die Web Crypto API MD5 bewusst weglässt).
Algorithmenvergleich
| Algorithmus | Ausgabe | Sicherheit |
|---|---|---|
| MD5 | 128-bit (32 hex chars) | Gebrochen · nicht für Sicherheit |
| SHA-1 | 160-bit (40 hex chars) | Schwach · veraltet |
| SHA-256 | 256-bit (64 hex chars) | Stark · empfohlen |
| SHA-384 | 384-bit (96 hex chars) | Stark |
| SHA-512 | 512-bit (128 hex chars) | Stark |
Wo kryptografische Hashes auftauchen
- Dateiintegrität / Checksummen. Linux-Distributionsspiegel veröffentlichen SHA-256 (und historisch MD5/SHA-1) Hashes neben den ISO-Downloads; der Nutzer berechnet den Hash der heruntergeladenen Datei und vergleicht ihn mit dem veröffentlichten Wert. Eine Diskrepanz bedeutet, dass der Download beschädigt oder manipuliert wurde.
shasum,sha256sumundmd5sumsind die Standard-Unix-Werkzeuge. - Passwort-Speicherung, aber NIEMALS als nackter Hash.
SHA-256(passwort)direkt zu speichern ist gefährlich, weil Rainbow Tables (vorberechnete (Passwort → Hash)-Tabellen) nackte Hash-Passwörter in Millisekunden umkehrbar machen. Das richtige Muster ist eine Passwort-Hashing-Funktion (KDF) mit nutzerspezifischem Salt und einstellbarem Arbeitsfaktor: Argon2id (RFC 9106, 2021, moderne Empfehlung), scrypt (RFC 7914, Percival 2009) oder bcrypt (Provos und Mazières, USENIX 1999). Alle drei kombinieren ein Salt (damit identische Passwörter unterschiedliche gespeicherte Hashes ergeben) mit einer absichtlich teuren Berechnung (damit Brute-Force-Angriffe durch Hardwarekosten gedrosselt sind). Dieses Tool berechnet rohe Hashes, nützlich für vieles, aber für sich allein nicht für die Passwortspeicherung geeignet. - Digitale Signaturen. Man signiert den Hash, nicht die Daten, die Daten sind zu lang, um effizient zu signieren. RSA, DSA, ECDSA und EdDSA signieren alle einen Hash der Botschaft. Die verwendete Hashfunktion muss kollisionsresistent sein (sonst kann ein Angreifer eine kollidierende Botschaft unterschieben); genau deshalb sind MD5 und SHA-1 für Signaturen veraltet.
- Gits inhaltsadressierbarer Speicher. Jedes Git-Objekt (Blob, Tree, Commit, Tag) wird durch den SHA-1 seines Inhalts identifiziert. Linus Torvalds' Designentscheidung von 2005 ist heute mitten in einem mehrjährigen Übergang zu SHA-256, getrieben durch SHA-1s Kollisionsbruch. Git for Windows und Core-Git liefern beide SHA-256-Unterstützung; die Produktionsmigration läuft schrittweise.
- Bitcoin und Ethereum. Bitcoin nutzt Doppel-SHA-256 für Block-Hashes und Transaktions-IDs (die Hashfunktion dominiert die Bitcoin-Mining-Kosten, ASICs existieren ausschließlich, um SHA-256 schnell zu rechnen). Ethereum nutzt Keccak-256 (das ursprüngliche Keccak vor den NIST-Standardisierungs-Anpassungen; manchmal „SHA-3 minus die Padding-Änderung“ genannt).
- JWT-Signaturprüfung. JSON Web Tokens werden typischerweise mit HMAC-SHA-256 signiert (Algorithmusname „HS256“ in der JWT-Spec) oder mit RSA/ECDSA über einen SHA-256-Hash. Die Signatur lässt den Empfänger prüfen, dass das Token vom Aussteller stammt und nicht manipuliert wurde.
- Subresource Integrity (SRI). Das Attribut
integrity="sha256-..."auf<script>- und<link>-Tags lässt Browser prüfen, dass ein CDN-gehostetes Skript vor der Ausführung nicht verändert wurde, eine Verteidigung gegen kompromittierte CDNs. - API-Request-Signierung. AWS Signature Version 4 nutzt HMAC-SHA-256, um jede API-Anfrage mit dem geheimen Zugriffsschlüssel des Nutzers zu signieren. Das authentifiziert die Anfrage, ohne das Geheimnis über die Leitung zu schicken, und verhindert Replay-Angriffe per Zeitstempel.
Kollisionsbruch vs. Preimage-Bruch, warum MD5 noch verwendet wird
Häufige Verwirrung: wenn MD5 „gebrochen“ ist, warum liefert md5sum noch jede Linux-Distribution mit? Die Antwort ist die Unterscheidung zwischen Kollisionsresistenz (in MD5 gebrochen) und Preimage-Resistenz (in MD5 noch intakt). Ein Kollisionsangriff erlaubt einem Angreifer, zwei verschiedene Eingaben mit demselben Hash zu konstruieren; das zählt für digitale Signaturen (wo ein Angreifer ein kollidierendes Paar bauen, eines signieren lassen und das andere unterschieben kann) und für jede Anwendung, in der die Hashfunktion eine konkrete Eingabe binden soll. Ein Preimage-Angriff dagegen würde einem Angreifer erlauben, die ursprüngliche Eingabe aus einem Hash zurückzugewinnen, das wäre, was eine Download-Checksumme, einen Passwort-Hash oder einen inhaltsadressierten Identifikator wirklich brechen würde. Die Preimage-Resistenz von MD5 ist nicht gebrochen; die besten veröffentlichten Preimage-Angriffe bleiben nahe an der theoretischen Schranke von 2128, rechnerisch nicht durchführbar auf jeder existierenden oder absehbar verfügbaren Hardware. Daher bleiben MD5 (und SHA-1) legitim für: Datei-Integritätsprüfung, wenn du der Quelle des veröffentlichten Hashs vertraust (ein Angreifer, der die Datei ersetzen kann, kann vermutlich auch den Hash ersetzen, das Bedrohungsmodell ist also „versehentliche Beschädigung“ und nicht „absichtliche Manipulation“); Cache-Schlüssel und Deduplikation, wo du beide Enden kontrollierst; HMAC-Konstruktionen (HMAC-MD5 ist noch sicher, weil die HMAC-Struktur robust gegenüber MD5s Kollisionsschwäche ist, obwohl HMAC-SHA-256 für neuen Code bevorzugt wird). Wo MD5 ersetzt werden muss: digitale Signaturen, Zertifikatshashes, überall wo ein Angreifer die Eingabe fabrizieren kann.
Die Web Crypto API und das absichtliche Weglassen von MD5
Moderne Browser exponieren das Hashen über crypto.subtle.digest(algorithm, data), eine asynchrone Funktion, die den Hash als ArrayBuffer zurückgibt. Unterstützte Algorithmen: SHA-1, SHA-256, SHA-384, SHA-512. Beachte, was nicht in der Liste steht: MD5 ist absichtlich weggelassen. Die W3C Web Crypto Working Group traf die explizite Entscheidung, MD5 herauszulassen, mit der Begründung, dass jeder MD5-Einsatz in einem Browser entweder Legacy ist (besser per Polyfill abzudecken) oder falsch (und nicht erleichtert werden sollte). Die MD5-Unterstützung dieses Tools kommt aus einer kleinen JavaScript-Implementation (~10 KB), die in der Seite gebündelt ist; alles andere (SHA-1, SHA-256, SHA-384, SHA-512 plus alle HMAC-Varianten) läuft über Web Crypto für native Geschwindigkeit. Die Web Crypto API ist nur in sicheren Kontexten verfügbar (HTTPS oder localhost), dieses Tool über reines HTTP zu öffnen würde das SHA-Hashing stillschweigend deaktivieren.
Ausgabeformate: Hex, Base64, Base32
Hashes sind ihrer Natur nach binär, ein 256-Bit-Hash sind 32 Byte opake Daten. Um sie anzuzeigen oder zu transportieren, werden sie als Text codiert. Hex (Base16) ist die häufigste Codierung: jedes Byte wird zu zwei Hex-Zeichen, also ist die SHA-256-Ausgabe 64 Hex-Zeichen lang. Universell, lesbar, verdoppelt die Größe. Base64 packt Bytes dichter (3 Bytes → 4 Zeichen); SHA-256 in Base64 sind 44 Zeichen (mit Padding) oder 43 (ohne). Eingesetzt in JWT (die Signatur ist Base64URL-codiert), in integrity-SRI-Attributen und überall, wo Kompaktheit zählt. Base32 (RFC 4648) verwendet 32 Zeichen, die visuell mehrdeutige ausschließen (keine 0/O-, 1/I/L-Verwechslung); eingesetzt für TOTP-Geheimschlüssel, ULIDs und Onion-Adressen. Dieses Tool gibt standardmäßig Hex aus, das universelle Format, das jedes andere Werkzeug versteht.
HMAC, Hashing mit Schlüssel zur Authentifizierung
HMAC (Hash-based Message Authentication Code) ist eine Konstruktion definiert in RFC 2104 (Krawczyk, Bellare, Canetti, Februar 1997), die jede kryptografische Hashfunktion in einen schlüsselbasierten Authentifizierungscode verwandelt. Die Konstruktion lautet HMAC(K, m) = H((K' XOR opad) || H((K' XOR ipad) || m)), wobei K' ein vom Geheimnis K abgeleiteter Schlüssel ist und opad/ipad feste XOR-Pads sind. Die Struktur ist beweisbar sicher, solange der zugrundeliegende Hash es ist, und bleibt bemerkenswert sicher, selbst wenn der zugrundeliegende Hash schwache Kollisionsresistenz hat (deshalb gilt HMAC-MD5 noch als sicher, und deshalb ist HMAC-SHA1 in TLS auch nach SHA-1s Kollisionsbruch in Ordnung). HMAC hat drei Hauptverwendungen: API-Request-Signierung (AWS Signature v4, GitHub-Webhooks, Stripe-Webhooks), wobei der Empfänger prüft, dass die Anfrage vom Inhaber des Geheimnisses kam; JWT-Integrität (HS256 = HMAC-SHA-256); und passwortbasierte Schlüsselableitung (PBKDF2 nutzt HMAC intern). Der HMAC-Modus dieses Tools nimmt einen geheimen Schlüssel und produziert den HMAC der Eingabe unter diesem Schlüssel.
Ehrlicher Umfang: wofür dieses Tool da ist und wofür nicht
Dieses Tool berechnet rohe kryptografische Hashes von Eingabetext oder Dateien. Nützlich für: Datei-Downloads gegen veröffentlichte Checksummen prüfen, inhaltsadressierbare Identifikatoren generieren, HMAC-Werte für API-Debugging berechnen, die Integrität zweier Kopien einer Datei vergleichen und lernen, wozu konkrete Eingaben hashen. Nicht nützlich für: Passwort-Speicherung (verwende eine echte Passwort-Hashfunktion wie Argon2id, scrypt oder bcrypt mit ordentlichem Salt und Arbeitsfaktor); Hashes umzukehren (was der ganze Sinn von Hashfunktionen ist und designgemäß nicht möglich); SHA-3 / Keccak-Hashes zu erzeugen (dieses Tool gibt heute SHA-1, SHA-256, SHA-384 und SHA-512 aus der SHA-2-Familie aus, plus MD5, SHA-3 steht auf der Liste künftiger Funktionen); BLAKE2 oder BLAKE3 zu erzeugen. Für BLAKE3 (den modernen Hochdurchsatz-Hash für inhaltsadressierbaren Speicher) nutze die dedizierte CLI; für Passwort-Speicherung nutze direkt die bcrypt-/scrypt-/Argon2id-Bibliothek deiner Anwendung.
Datenschutz: Warum nur Browser hier zählt
Eine Datei auf einem Server zu hashen verlangt das Hochladen. Für gewöhnliche Download-Verifizierung ist das egal, du vertraust der Quelle ohnehin. Für das Hashen interner Dokumente, eingescannter Ausweise, Screenshots laufender UIs oder beliebiger Dateien, die du nicht auf der Festplatte einer fremden Person sehen willst, ist serverseitiges Hashing ein Leck. Dieses Tool liest die Datei direkt in deinem Browser über die File API und hasht sie lokal, nichts verlässt dein Gerät. Verifiziere, indem du den Network-Tab der DevTools öffnest, während du auf Hash klickst, oder nimm die Seite nach dem Laden offline (Flugmodus) und bestätige, dass das Tool weiter funktioniert. Die Web Crypto API verlangt HTTPS, aber zur Laufzeit keinen Netzwerkzugriff.
Häufig gestellte Fragen
Wofür wird MD5 verwendet, wenn es gebrochen ist?
MD5 wird weiterhin häufig für sicherheitsunkritische Zwecke verwendet: Prüfung der Dateiintegrität (Verifizierung von Downloads), Deduplizierung, Cache-Schlüssel und Prüfsummen. Für das Hashen von Passwörtern oder digitale Signaturen sollte es niemals eingesetzt werden.
Kann ich einen Hash umkehren, um den Originaltext zu erhalten?
Nein. Hash-Funktionen sind als Einwegfunktionen konzipiert. Angreifer verwenden jedoch vorberechnete Tabellen (Rainbow Tables), um gängige Hashes nachzuschlagen. Deshalb sollten Passwörter mit gesalzenen, langsamen Hash-Funktionen wie bcrypt gehasht werden und nicht mit rohem SHA-256.
Wird meine Datei beim Hashen hochgeladen?
Nein. Die Datei wird direkt in Ihrem Browser über die File API eingelesen und lokal mit der Web Crypto API (für SHA) oder einer reinen JavaScript-Implementierung (für MD5) gehasht. Es wird nichts an einen Server gesendet.
Was ist der Unterschied zwischen SHA-256 und SHA-3?
SHA-256 ist Teil der SHA-2-Familie (FIPS 180-2, August 2002), Merkle-Damgård-Konstruktion, von der NSA entworfen. SHA-3 (FIPS 202, August 2015) ist die Keccak-Familie, Schwammkonstruktion, entworfen von Bertoni, Daemen, Peeters und Van Assche, ausgewählt in einem öffentlichen NIST-Wettbewerb. SHA-3 ist kein Ersatz für SHA-2 (SHA-2 ist noch sicher); es ist eine Defense-in-Depth-Alternative mit grundsätzlich anderer interner Struktur, sodass ein hypothetischer zukünftiger Bruch von SHA-2 SHA-3 nicht zwingend träfe. Für neue Anwendungen 2026 ist SHA-256 immer noch der richtige Standard; SHA-3 wird zunehmend in Ethereum und post-quantenfähigen Schemata genutzt. Dieses Tool unterstützt heute SHA-2 (SHA-1 / 256 / 384 / 512); SHA-3 steht auf der Liste künftiger Funktionen.
Was ist HMAC und wann brauche ich es?
HMAC (Hash-based Message Authentication Code, RFC 2104, 1997) ist eine schlüsselbasierte Hashkonstruktion, die nachweist, dass eine Botschaft von jemandem erzeugt wurde, der ein gemeinsames Geheimnis kennt. Du brauchst es immer, wenn du verifizierst, dass eine Anfrage von der richtigen Partei kam, Verifikation von GitHub-Webhook-Signaturen (das Geheimnis ist der Signing Key des Webhooks), Stripe-Webhook-Signaturen, AWS-API-Request-Signaturen (Signature v4 ist HMAC-SHA-256) oder JWT-Signaturen (HS256 = HMAC-SHA-256). HMAC bleibt sicher, selbst wenn der zugrundeliegende Hash schwache Kollisionsresistenz hat, deshalb gilt HMAC-MD5 noch als sicher, aber HMAC-SHA-256 ist der moderne Standard für neuen Code.
Wird meine Datei hochgeladen, wenn ich sie hashe?
Nein. Die Datei wird direkt in deinem Browser über die File API gelesen und lokal gehasht, über die Web Crypto API für Algorithmen der SHA-Familie, über eine kleine JavaScript-Implementation für MD5. Nichts überquert das Netzwerk, verifiziere im Network-Tab der DevTools beim Berechnen, oder nimm die Seite nach dem Laden offline. Sicher zum Hashen interner Dokumente, eingescannter Ausweise, UI-Screenshots in Arbeit oder beliebiger Dateien, die du nicht auf der Festplatte einer fremden Person sehen willst.
Verwandte Werkzeuge
Kostenloser Online-Base64-Encoder & -Decoder
Kodieren Sie Text zu Base64 oder dekodieren Sie Base64 zu Text sofort. Unterstützt Datei-zu-Base64-Konvertierung. Kostenlos, keine Anmeldung, läuft in Ihrem Browser.
Kostenloser Passwort-Generator Online
Generieren Sie sofort starke, zufällige Passwörter. Länge anpassen, Groß- und Kleinbuchstaben, Zahlen und Symbole einschließen. Kostenlos, läuft in Ihrem Browser.
Kostenloser URL-Encoder / -Decoder
Kodieren oder dekodieren Sie URLs und URI-Komponenten sofort. Unterstützt encodeURI- und encodeURIComponent-Methoden. Kostenlos, privat, keine Anmeldung.