String-Hash-Visualisierer
Geben Sie Text ein, um MD5-, SHA-1-, SHA-256- und SHA-512-Hashes zu berechnen und mit Farbblöcken visuell zu vergleichen.
So funktioniert es
- Geben Sie Ihren Text ein: Tippen oder fügen Sie eine beliebige Zeichenkette ein, Passwort, Dateiinhalt, Bezeichner oder beliebigen Text, den Sie hashen möchten.
- Wählen Sie einen Algorithmus: Wählen Sie je nach Anwendungsfall MD5, SHA-1, SHA-256, SHA-384 oder SHA-512.
- Hash kopieren: Der Hashwert erscheint sofort. Kopieren Sie ihn zur Speicherung, zum Vergleich oder zur Verifizierung.
Warum den String-Hash-Generator nutzen?
Hashing wandelt eine beliebige Zeichenkette in einen Fingerabdruck fester Länge um, der für ihren Inhalt einzigartig ist. Schon eine Änderung um ein Zeichen erzeugt einen völlig anderen Hash. Das ist unverzichtbar, um Datenintegrität zu prüfen, Passwörter sicher zu speichern, Cache-Schlüssel zu erzeugen, Datensätze zu deduplizieren und inhaltsbasierte Bezeichner zu erstellen. Da Hashing eine Einwegfunktion ist, lässt sich der Originaltext nicht aus dem Hash rekonstruieren, ein sicherer Weg, sensible Daten zu verarbeiten.
Funktionen
- Mehrere Algorithmen: MD5, SHA-1, SHA-256, SHA-384 und SHA-512 in einem Tool.
- Echtzeit-Hashing: Der Hash wird beim Tippen sofort aktualisiert, kein Klick auf einen Button nötig.
- Schreibungsempfindlich: „Hello" und „hello" erzeugen bewusst unterschiedliche Hashes.
- In die Zwischenablage kopieren: Hashwert mit einem Klick kopieren.
- 100 % im Browser: Zeichenketten verlassen Ihr Gerät nie, sicher für sensible Inhalte.
Häufige Fragen
Welchen Hash-Algorithmus soll ich nutzen?
Für sicherheitskritische Anwendungen (Passwörter, Signaturen) verwenden Sie SHA-256 oder SHA-512. MD5 und SHA-1 gelten sicherheitstechnisch als veraltet, sind aber für Prüfsummen und Cache-Schlüssel ohne kryptografische Anforderungen weiterhin nützlich.
Kann ich damit Passwörter zur Speicherung hashen?
String-Hashing liefert einen Einweg-Hash, doch zur Passwortspeicherung sollten Sie eine Schlüsselableitungsfunktion wie bcrypt, Argon2 oder PBKDF2 mit Salt und Iterationen verwenden. Einfache SHA-Hashes sind zu schnell und anfällig für Rainbow-Table-Angriffe.
Sind Hashes umkehrbar?
Nein. Hash-Funktionen sind Einwegfunktionen, die Originalzeichenkette lässt sich nicht aus dem Hash rekonstruieren. Wenn zwei Zeichenketten denselben Hash erzeugen (Kollision), ist das ein Algorithmusmangel. Für SHA-256 und SHA-512 sind keine praktischen Kollisionen bekannt.
35 Jahre Geschichte der Hash-Funktionen: von MD5 bis BLAKE3
Kryptografische Hash-Funktionen entwickelten sich durch eine lange Folge von Brechen-und-Ersetzen-Zyklen. MD5 wurde von Ronald Rivest in RFC 1321 (April 1992) als Nachfolger von MD4 veröffentlicht. Sein 128-Bit-Output galt über ein Jahrzehnt als stark genug, bis Wang und Yu 2004 die erste praktische Kollision veröffentlichten. Bis 2008 hatten Forscher MD5-Kollisionen verwendet, um eine betrügerische SSL-Zertifizierungsstelle zu fälschen. SHA-1 wurde von der NSA entworfen und von NIST in FIPS 180-1 (1995) standardisiert. Sein 160-Bit-Output hielt bis Februar 2017, als Google und CWI Amsterdam den SHAttered-Angriff ankündigten und zwei PDFs mit demselben SHA-1-Hash erzeugten. Kosten: etwa 6.500 CPU-Jahre äquivalent auf GPUs. SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512), ebenfalls von der NSA, wurde in FIPS 180-2 (August 2002) veröffentlicht. Es verwendet dieselbe Merkle-Damgård-Konstruktion wie SHA-1, aber mit größeren Zuständen und mehr Runden; heute existiert kein praktischer Angriff auf die vollständigen Versionen. SHA-3 (Keccak, von Bertoni et al.) wurde von NIST nach einem öffentlichen Wettbewerb ausgewählt und in FIPS 202 (August 2015) standardisiert. SHA-3 verwendet eine völlig andere Schwamm-Konstruktion, immun gegen Längenextension-Angriffe, die SHA-2 betreffen. Außerhalb der NIST-Familie bieten BLAKE2 (Aumasson et al., 2012) und BLAKE3 (2020) Sicherheit der SHA-3-Klasse mit der Geschwindigkeit von MD5; BLAKE3 hasht eine 1 GB-Datei in etwa einer Sekunde auf einem modernen Laptop.
Welcher Algorithmus zu wählen: eine schnelle Entscheidungstabelle
- MD5 (128 Bit). Seit 2004 gebrochen. Akzeptabel für Nicht-Sicherheitsanwendungen: Cache-Busting, Datei-Deduplizierung, wo Sie beide Seiten kontrollieren, Prüfsummen gegen versehentliche Korruption. Niemals für Passwörter, Signaturen oder einen adversariellen Kontext verwenden.
- SHA-1 (160 Bit). Seit 2017 (SHAttered) gebrochen. Git verwendet es immer noch für Commit-Hashes, aber im März 2017 begann Git, Kollisionsdetektion (SHA-1DC) einzubetten, um bekannte Angriffsmuster zu verweigern. Vermeiden Sie SHA-1 für neuen Code.
- SHA-256 (256 Bit). Das aktuelle Arbeitspferd. Verwendet von Bitcoin, TLS-Zertifikaten, Linux-Paket-Signaturen, JWT-Signierung (HMAC-SHA256) und den meisten modernen APIs. Schnell in Hardware (Intel SHA-Erweiterungen, ARMv8 Kryptografie-Erweiterungen). Standardwahl für allgemeines Hashing.
- SHA-512 (512 Bit). Gleiche Familie, größere Ausgabe. Etwas schneller als SHA-256 auf 64-Bit-Maschinen, weil sein interner Zustand 64-Bit ist. Verwenden Sie, wenn Sie zusätzliche Kollisionsresistenz benötigen oder wenn 256 Bit sich einschränkend anfühlen (selten).
- SHA-3 / Keccak (224/256/384/512 Bit). Die standardisierte Schwamm-Alternative zu SHA-2. Resistent gegen Längenextension-Angriffe, die SHA-2 betreffen (relevant beim Aufbau von Schlüssel-Hashes ohne HMAC). Langsamer in Software als SHA-256 auf den meisten CPUs, aber immun gegen eine andere Klasse von Angriffen.
- BLAKE2 / BLAKE3. Moderne nicht-NIST-Alternativen. BLAKE3 ist der schnellste weit verbreitete kryptografische Hash, hasht etwa mit memcpy-Geschwindigkeit dank Parallelismus. Verwendet in
b3sum, IPFS und dem WireGuard VPN-Protokoll. Noch nicht incrypto.subtle, aber über Bibliotheken verfügbar.
Wo Hashing tatsächlich verwendet wird
- Dateiintegritätsprüfung. Linux-Distributionen veröffentlichen SHA-256-Summen neben ISO-Downloads, damit Sie überprüfen können, dass die Datei nicht im Transit beschädigt oder von einem Angreifer modifiziert wurde.
sha256sum -c ubuntu.sha256in 10 Sekunden. - Inhaltsadressierte Speicherung. Git verwendet SHA-1 (wechselt zu SHA-256), um jeden Commit, Baum und Blob zu identifizieren. IPFS, Docker-Images (sha256:...) und Nix-Store-Pfade verwenden alle inhaltsadressierte Speicherung. Der Hash IST der Bezeichner.
- Cache-Schlüssel. Einen URL oder eine serialisierte Anfrage zu hashen ergibt einen Schlüssel fester Länge, der zu jedem Speichersystem passt. Stripe, GitHub, jedes CDN verwendet dies für Cache-Lookups.
- Deduplizierung. Backup-Systeme (Time Machine, Borg, Restic) hashen Dateiblöcke und speichern nur einzigartige. Zwei identische 4-KB-Blöcke über verschiedene Dateien hinweg werden auf ein gespeichertes Chunk abgebildet.
- HTTP ETags. Webserver senden den Hash einer Antwort als
ETag-Header. Browser senden ihn zurück mitIf-None-Match; der Server gibt 304 zurück, wenn unverändert. Spart redundante Downloads. - JWT- und Webhook-Signaturen. JSON Web Tokens signieren ihren Payload mit HMAC-SHA256 (HS256 in der Spec). Stripe, GitHub, Twilio-Webhooks signieren alle ihre Payloads, damit Sie überprüfen können, dass sie nicht im Transit manipuliert wurden.
- Blockchains. Bitcoin verwendet doppeltes SHA-256 für Proof-of-Work und Block-Verlinkung. Ethereum verwendet Keccak-256 (eine SHA-3-Variante). Das gesamte Konzept einer Blockchain beruht auf der Eigenschaft, dass das Finden zweier Eingaben mit demselben Hash rechnerisch undurchführbar ist.
Hashing-Fehler, die Geld kosten oder Dinge kaputt machen
- Verwendung von SHA-Hashes zur Passwortspeicherung. SHA-256 ist schnell: eine moderne GPU berechnet ~10 Milliarden SHA-256-Hashes pro Sekunde. Mit einer durchgesickerten Datenbank kann ein Angreifer in Minuten jedes Wort eines Wörterbuchs plus alle gängigen Transformationen ausprobieren. Verwenden Sie Argon2id (Gewinner des Password Hashing Competition 2015), bcrypt oder scrypt. Sie sind absichtlich langsam und speicherintensiv.
- Salt vergessen. Auch bei einem langsamen Hash erzeugt dasselbe Passwort ohne Salt gehasht dieselbe Ausgabe über Benutzer hinweg, was Rainbow-Tables und Side-Channel-Erkennung doppelter Passwörter ermöglicht. Speichern Sie immer einen pro-Benutzer zufälligen Salt neben dem Hash.
- Längenextension-Angriffe auf SHA-2.
hash(secret + message)mit SHA-256 ist anfällig: Ein Angreifer, der den Hash und die Länge vonsecretkennt, kann beliebige Daten anhängen und den resultierenden Hash berechnen, ohnesecretzu kennen. Verwenden Sie stattdessen HMAC-SHA256. SHA-3 und BLAKE2/3 sind immun. - Konstantzeit-Stringvergleich. Hashes (oder jeden geheimen Wert) mit
==in JavaScript zu vergleichen, gibt Informationen durch Timing preis: Eine Funktion, die beim ersten Byte-Mismatch beendet wird, lässt Angreifer den korrekten Hash Byte für Byte über viele Anfragen lernen. Verwenden Siecrypto.timingSafeEqualin Node,hmac.compare_digestin Python. - Strings ohne Angabe der Kodierung hashen.
sha256("hello")in Python 3 schlägt fehl (Sie benötigen Bytes); in Node wird standardmäßig UTF-8 verwendet; in PHP und Java kann der Standard variieren. Verschiedene Kodierungen produzieren verschiedene Hashes. Kodieren Sie immer explizit als UTF-8 vor dem Hashen. - Hashes für «kurze IDs» abschneiden. Ein 64-Bit-Ausschnitt von SHA-256 ist praktisch für kurze IDs, aber das Geburtstagsparadoxon bedeutet, dass Kollisionen bei ~2³² Elementen auftreten (etwa 4 Milliarden), nicht 2⁶⁴. Wenn Sie abschneiden, planen Sie Kollisionsbehandlung in der erwarteten Größenordnung ein.
- Hash-Ausgabe als URL-sicheren String behandeln. Rohe Hash-Bytes sind nicht druckbar. Verwenden Sie hex (am häufigsten) oder base64url. Standard-base64 enthält
+und/, die in URLs und Dateinamen brechen; base64url ist die sichere Variante.
Weitere häufig gestellte Fragen
Warum sind MD5 und SHA-1 «gebrochen», wenn sie immer noch Hashes produzieren?
«Gebrochen» bedeutet, ein Angreifer kann Kollisionen schneller als durch Brute Force erzeugen. Für MD5 dauert das Finden zweier Eingaben mit dem gleichen Hash heute Sekunden auf einem Laptop. Für SHA-1 dauerte es 2017 6.500 CPU-Jahre und ist seitdem dramatisch gesunken. Die Hashes funktionieren mechanisch noch; was gebrochen ist, ist die Sicherheitsgarantie, dass sie «kollisionsresistent» sind. Für nicht-adversarielle Zwecke (Prüfsumme einer Datei, der Sie vertrauen, gegen versehentliche Beschädigung) funktioniert MD5 noch gut. Für alles, was einen Gegner einbezieht, sind beide unsicher.
Sollte ich mir Sorgen machen, dass Quantencomputer SHA-256 brechen?
Weniger als Sie vielleicht denken. Grovers Algorithmus beschleunigt Preimage-Angriffe gegen einen 256-Bit-Hash von 2²⁵⁶ auf 2¹²⁸ klassisch-äquivalente Arbeit, was immer noch praktisch unmöglich ist. Symmetrische Primitive (Hashes, AES) überleben Quantencomputing durch Verdoppelung der Schlüssel-/Ausgabegrößen. Public-Key-Kryptografie (RSA, ECDSA) ist das, was bei Quantenangriffen hart fällt, daher die NIST-Post-Quantum-Standards, die im August 2024 veröffentlicht wurden (ML-KEM, ML-DSA, SLH-DSA). Wenn Sie heute SHA-256 verwenden, wird SHA-512 in der Post-Quantum-Ära mehr als ausreichend sein.
Was ist der Unterschied zwischen einem Hash und HMAC?
Ein Hash (SHA-256) ist schlüssellos: Jeder mit der Eingabe kann dieselbe Ausgabe berechnen. Ein HMAC (Hash-based Message Authentication Code) umhüllt den Hash mit einem geheimen Schlüssel, sodass nur jemand, der den Schlüssel kennt, das Tag berechnen oder verifizieren kann. Definiert in RFC 2104 (1997), ist HMAC die Standardmethode, um eine Nachricht symmetrisch zu «signieren» (Sender und Empfänger teilen ein Geheimnis). Verwenden Sie HMAC-SHA256 für Webhook-Signaturen, JWT HS256, API-Anfragensignierung. Einfaches SHA-256 auf secret + message ist aufgrund der Längenextension unsicher.
Warum geben verschiedene Bibliotheken unterschiedliche Hashes für dieselbe Zeichenfolge?
Drei häufige Ursachen. Erstens, Zeichenkodierung: UTF-8 vs UTF-16 vs Latin-1 ergeben unterschiedliche Bytes für Nicht-ASCII-Strings, daher unterschiedliche Hashes. Kodieren Sie immer explizit. Zweitens, Zeilenenden: "hello\n" und "hello\r\n" hashen unterschiedlich; Windows-vs-Unix-Dateiprüfsummen unterscheiden sich häufig aus diesem Grund. Drittens, Ausgabeformat: kleingeschriebener hex vs großgeschriebener hex vs base64 sieht wie ein anderer Wert aus, repräsentiert aber dieselben Bytes. Normalisieren Sie Eingabe- und Ausgabeformate vor dem Vergleichen.
Wird meine Eingabe an einen Server gesendet, wenn ich hier hashe?
Nein. Alle vier Hashes werden in Ihrem Browser mit der eingebauten Web Crypto API (crypto.subtle.digest) berechnet. Öffnen Sie den Netzwerk-Tab in DevTools und tippen Sie in die Eingabe, Sie werden null ausgehende Anfragen sehen. Sicher für Anmeldedaten, Token oder jeden privaten Wert, den Sie hashen möchten, ohne dass er Ihr Gerät verlässt.