Hash Generator
Generate SHA-1, SHA-256, SHA-384 and SHA-512 hashes from text.
Geprüft von Aygul Dovletova · Zuletzt geprüft
Dateiprüfsumme oder Inhalts-Digest berechnen
- Text einfügen in das Eingabe-Textfeld. Beliebiges Unicode ist möglich; das Tool kodiert vor dem Hashing in UTF-8-Bytes.
- "Hashes generieren" klicken. Alle vier Algorithmen (SHA-1, SHA-256, SHA-384, SHA-512) berechnen parallel via
Promise.allaufcrypto.subtle.digest(). - "Großbuchstaben" umschalten, wenn eine Prüfsumme in Großbuchstaben-Hex abgeglichen werden muss (üblich auf Microsoft-Download-Seiten und älteren Linux-Spiegelserver-Listen).
- 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".
- 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
AI Token Counter
Count tokens for GPT-4o, Claude, and Gemini models instantly.
Open toolBase64 Encoder & Decoder
Encode UTF-8 text to Base64 online or decode Base64 back to UTF-8 and plain text. Runs in your browser with no upload.
Open toolBulk URL Encode / Decode
Encode or decode many URLs at once. Paste a newline-separated list and the tool processes each line in parallel, preserving order and blank lines.
Open toolchmod Calculator
Calculate and convert Unix file permission modes between octal and symbolic.
Open toolCode Screenshot
Create beautiful code snippet images with customizable themes.
Open toolColor Converter
Convert colors between HEX, RGB, HSL and CMYK formats.
Open tool