Skip to main content

Hash Generator

Generate SHA-1, SHA-256, SHA-384 and SHA-512 hashes from text.

Geprüft von · Zuletzt geprüft

Dateiprüfsumme oder Inhalts-Digest berechnen

  1. Text einfügen in das Eingabe-Textfeld. Beliebiges Unicode ist möglich; das Tool kodiert vor dem Hashing in UTF-8-Bytes.
  2. "Hashes generieren" klicken. Alle vier Algorithmen (SHA-1, SHA-256, SHA-384, SHA-512) berechnen parallel via Promise.all auf crypto.subtle.digest().
  3. "Großbuchstaben" umschalten, wenn eine Prüfsumme in Großbuchstaben-Hex abgeglichen werden muss (üblich auf Microsoft-Download-Seiten und älteren Linux-Spiegelserver-Listen).
  4. Den Hash zeichenweise vergleichen mit dem erwarteten Wert. Ein einziges abweichendes Hex-Zeichen bedeutet, dass die Eingabe sich irgendwo unterscheidet - im Hash-Raum gibt es kein "fast richtig".
  5. Das Kopier-Symbol neben einem Digest anklicken, um ihn in die Zwischenablage zu übernehmen. Alle vier Digests bleiben auf dem Bildschirm, bis erneut mit neuer Eingabe generiert wird.

Was eine Nicht-Krypto-Hash-Funktion konkret leistet

Dieses Tool zielt auf den alltäglichen Anwendungsfall ab, der keine Passwortspeicherung ist: prüfen, ob zwei Datenstücke bit-für-bit identisch sind. Es übergibt UTF-8-Bytes an crypto.subtle.digest(alg, buffer), die Web-Crypto-API-Implementierung von SHA-1 (FIPS 180-4 Abschnitt 6.1), SHA-256 (6.2), SHA-384 und SHA-512 (6.4-6.5). Die Implementierungen laufen in der nativen Krypto-Bibliothek des Browsers (BoringSSL, NSS, CoreCrypto), mit nahezu Hardware-Geschwindigkeit via SHA-NI auf modernen Intel- und ARM-CPUs. Die Ausgabe ist fest: 160 Bit für SHA-1, 256 für SHA-256, 384 für SHA-384, 512 für SHA-512. Identische Eingaben erzeugen immer identische Digests; das Kippen eines einzelnen Bits ändert ungefähr die Hälfte der Ausgabe-Bits (Lawineneffekt).

Legitime Anwendungen, bei denen MD5 und SHA-1 noch in Ordnung sind

  • Verifizierung eines ISO-Downloads gegen die Prüfsumme in der SHA256SUMS-Datei eines Spiegels vor dem Brennen auf USB.
  • Erkennung unbeabsichtigter Beschädigung beim Kopieren einer großen Datei zwischen Festplatten - jeder Hash erkennt Bit-Fäulnis, magnetischen Zerfall oder ein fehlerhaftes USB-Kabel.
  • Git-Objektbenennung: Git hasht jeden Commit, Baum und Blob mit SHA-1 (migriert zu SHA-256) und nutzt den Digest als Objekt-ID. Keine Sicherheitsfunktion - eine Content-Adresse.
  • Deduplizierung: Dropbox, Git LFS und rsync hashen Content-Chunks, um das erneute Hochladen identischer Daten zu vermeiden. MD5 ist hier in Ordnung, weil das Bedrohungsmodell zufällige Kollisionen sind, keine gegnerische Fälschung.
  • Stabile IDs für Cache-Schlüssel, ETags oder HTTP-Content-Digest-Header erzeugen, wo ein deterministischer Fingerabdruck eines Antwortkörpers gewünscht wird.
  • Debugging einer Pipeline durch Protokollierung des Hashes einer Zwischen-Nutzlast, um sie im nachgelagerten Log ohne den vollständigen Körper abzugleichen.

Wo dieses Tool die falsche Antwort ist

Keinen dieser Hashes zur Passwortspeicherung verwenden. SHA-1, SHA-256, SHA-384 und SHA-512 sind alle absichtlich schnell - eine einzelne GPU kann Milliarden SHA-256-Hashes pro Sekunde berechnen. Der LinkedIn-Breach 2012 legte 6,5 Millionen ungesalzte SHA-1-Passwort-Hashes offen, und innerhalb von Tagen hatten Crack-Rigs mit der RockYou-Wortliste rund 90 Prozent davon wiederhergestellt. Passwort-Hashing braucht eine langsame Funktion (bcrypt, scrypt, Argon2id oder PBKDF2 mit 600k+ Iterationen), die Millisekunden CPU-Zeit pro Versuch kostet. Auch nicht auf SHA-1 für Kollisionsresistenz in neuen Designs setzen: Der SHAttered-Angriff (Google, 2017) erzeugte zwei PDFs mit demselben SHA-1; Chosen-Prefix-Kollisionen (2020) brachten die Kosten unter 50.000 Dollar. GitHub, OpenSSL und die meisten großen Projekte sind zu SHA-256 migriert. Schließlich ist bloßes SHA-256 kein Message-Authentication-Code - für den Nachweis, dass der Sender ein geteiltes Geheimnis kannte, HMAC-SHA-256 aus dem dedizierten HMAC-Tool verwenden.

Die SHA-Familie in einem Abschnitt

SHA-1 wurde 1995 veröffentlicht (FIPS 180-1), erzeugt einen 160-Bit-Digest und gilt seit SHAttered als gebrochen für Kollisionsresistenz. SHA-256 und SHA-512 wurden 2001 standardisiert (FIPS 180-2, jetzt 180-4) und basieren auf der Merkle-Damgard-Konstruktion mit einer Davies-Meyer-Kompressionsfunktion. SHA-384 ist SHA-512 auf 384 Bit gekürzt mit einem anderen Initialisierungsvektor, verwendet von NSA Suite B auf TOP SECRET-Ebene. SHA-2 ist kryptografisch 2026 nach wie vor sicher, ohne bekannte Preimage- oder Kollisionsangriffe besser als Brute-Force nach dem Geburtstagsproblem. Die SHA-3-Familie (FIPS 202, 2015) basiert auf der völlig anderen Keccak-Schwamm-Konstruktion und existiert als Versicherung für den Fall eines SHA-2-Durchbruchs; sie ist nicht in diesem Tool, weil die Web Crypto API sie nicht bereitstellt. Für allgemeine Integritätsprüfungen ist SHA-256 der beste Kompromiss: kleine Ausgabe, schnell auf 32-Bit-CPUs, hardware-beschleunigt auf modernen Chips.

CLI- und Bibliotheks-Alternativen

Unter Unix erledigen shasum -a 256 datei.iso, sha256sum datei.iso oder openssl dgst -sha256 datei.iso dieselbe Aufgabe und verarbeiten Dateien beliebiger Größe. Unter Windows sind certutil -hashfile datei.iso SHA256 oder PowerShells Get-FileHash eingebaut. Für gigabytegroße Dateien gewinnt die CLI deutlich, weil sie von der Festplatte streamt. Dieses Tool schlägt einen typischen "Online-Hash-Generator", der den Text hochlädt - hier findet die Berechnung vollständig clientseitig via crypto.subtle.digest statt. Beim Hashing im Code die Sprach-Standardbibliothek verwenden (hashlib, node:crypto, java.security.MessageDigest) statt einer REST-API.

Häufig gestellte Fragen

Werden meine Eingabedaten jemals an einen Server gesendet?

Nein. Das Tool ruft crypto.subtle.digest() der Web Crypto API auf, die nativ in der Browser-Engine implementiert ist und alle Berechnungen lokal durchführt. Du kannst den DevTools-Netzwerk-Tab öffnen, einen Gigabyte Text einfügen, auf "Generieren" klicken und siehst null ausgehende Anfragen. Die Seite sendet keine fetch- oder XHR-Aufrufe für das Hashing. Bei regulierten Daten (HIPAA, PCI, DSGVO-Sonderkategorien) ist das entscheidend - die Daten verlassen niemals dein Gerät.

Warum erzeugt das Ändern eines einzigen Zeichens einen komplett anderen Hash?

Das ist die Lawineneffekt-Eigenschaft, die kryptografische Hash-Funktionen definiert. Jede SHA-256-Runde mischt den Eingabezustand durch Bit- Rotationen, Additionen und die Choice/Majority-nichtlinearen Funktionen (FIPS 180-4 Abschnitt 4.1.2). Nach 64 Runden beeinflusst jedes einzelne Eingabe-Bit ungefähr die Hälfte der Ausgabe-Bits mit nahezu gleicher Wahrscheinlichkeit. Die praktische Konsequenz: Zwei Eingaben, die sich um ein Leerzeichen, einen Zeilenumbruch oder ein CR vs LF unterscheiden, erzeugen Hashes, die keine nützlichen Bits gemeinsam haben. Deshalb sind Windows- vs. Unix-Zeilenenden bei der Prüfsummenverifizierung wichtig.

Sind SHA-1-Hashes noch irgendwo sicher verwendbar?

Für gegnerische Anwendungsfälle: nein. Der SHAttered-Angriff 2017 erzeugte zwei PDFs mit identischem SHA-1, und Chosen-Prefix-Kollisionen 2020 brachten die Kosten auf rund 45.000 Dollar. Git verwendet SHA-1 noch als Content-Adresse, hat aber Migrations-Tools; HTTPS-Zertifikate mit SHA-1 wurden 2016 abgelöst. Für nicht-gegnerische Anwendungen - Datei-Kopien vergleichen, Cache-Schlüssel berechnen, Git-Objekt-IDs - bleibt SHA-1 geeignet, weil die Bedrohung zufällige Kollisionen sind, deren Wahrscheinlichkeit 2^-80 pro Paar beträgt. Standardmäßig SHA-256 für neue Projekte verwenden; SHA-1 ist nur akzeptabel, wenn der Angreifer beide Eingaben nicht wählen kann.

Warum wird MD5 nicht angeboten?

Die digest()-Methode der Web Crypto API unterstützt nur SHA-1, SHA-256, SHA-384 und SHA-512. MD5 wurde von der W3C Web Crypto Working Group bewusst ausgeschlossen, weil es kryptografisch gebrochen ist (Kollisionen von Wang 2004 gefunden, Chosen-Prefix-Angriffe gegen CAs von Marc Stevens 2012 nachgewiesen). MD5 findet sich noch in Legacy-Prüfsummen-Dateien (SourceForge, ältere FreeBSD-Spiegel); dafür ein CLI-Tool wie md5sum verwenden. Für neue Projekte ist SHA-256 die richtige Wahl.

Was ist der praktische Unterschied zwischen SHA-256 und SHA-512?

SHA-256 nutzt 32-Bit-Internen-Zustand (8 Wörter zu 32 Bit) und 64 Runden; SHA-512 nutzt 64-Bit-Zustand und 80 Runden. Auf 64-Bit-CPUs ist SHA-512 oft schneller pro Byte, weil es 1024-Bit-Blöcke gegenüber SHA-256s 512-Bit-Blöcken verarbeitet. Auf 32-Bit-ARM oder älteren Embedded-Systemen ist SHA-256 schneller. Sicherheitstechnisch widerstehen beide allen bekannten kryptoanalytischen Angriffen. SHA-256 bei kleinerer Ausgabe verwenden (32 Byte passen in eine Bitcoin-Adresse, eine IPFS-CID, einen URL-Slug); SHA-512 wenn extra Spielraum nötig oder aufgebaut wird (HMAC-SHA-512, SHA-512/256-Kürzung).

Behandelt dieses Tool Unicode korrekt?

Ja. Vor dem Hashing wird die Eingabe via TextEncoder().encode(text) in Bytes kodiert, was UTF-8 ausgibt. Emoji, CJK-Zeichen, Arabisch, Rechts-nach-Links-Markierungen und kombinierende diakritische Zeichen werden korrekt verarbeitet. Wichtig: Unicode-Normalisierung spielt eine Rolle - "é" (U+00E9) und "é" (e + kombinierendes Akut U+0301) sehen identisch aus, haben aber unterschiedliche UTF-8-Kodierungen und daher verschiedene Hashes. Vor dem Hashing von Benutzereingaben auf NFC normalisieren.

Kann ich diese Hashes als eindeutige IDs in einer Datenbank verwenden?

Ja, mit der Kollisions-Mathematik im Hinterkopf. SHA-256 hat eine 2^128-Kollisionsresistenz-Obergrenze, sodass 10^18 zufällige Schlüssel generiert werden können, bevor die Kollisionswahrscheinlichkeit eins-zu-einer-Milliarde überschreitet. Für Anwendungs-IDs ist das übertrieben; sogar auf 64 Bit kürzen ergibt 2^32 sichere Schlüssel. Git verwendet die ersten 7 Hex-Zeichen (28 Bit) für kurze Commit-Hashes, was in großen Repos wie dem Linux-Kernel zu Kollisionen führt. Faustregel: 128 Bit Hash = 64 Bit Kollisionssicherheit.

Wie verhält sich das im Vergleich zu openssl dgst auf der Kommandozeile?

Kryptografisch identisch - beide berechnen denselben FIPS 180-4 SHA-256. Praktisch gesehen streamt openssl Dateien von der Festplatte, ohne sie in den Speicher zu lesen, und lässt sich in Shell-Skripte integrieren. Dieses Tool gewinnt für einmalige Prüfungen kurzer Texte, für die gleichzeitige Anzeige aller vier Digests und für Nutzer ohne Terminal.

Mehr Developer Tools