Security Hash Generator
Generate SHA-1, SHA-256, SHA-384 and SHA-512 hashes from text or files using the Web Crypto API.
Geprüft von Aygul Dovletova · Zuletzt geprüft
Hashing zur Passwortprüfung und Dateiintegrität
- Wähle eine Eingabequelle. Füge Text in das Eingabefeld ein, um kurze Daten zu hashen, oder lege eine Datei in den Datei-Upload-Bereich, um ein ganzes Artefakt zu hashen (Installationsprogramm, ZIP, Zertifikat).
- Klicke auf "Hashes generieren". Das Tool liest die Datei als
ArrayBuffer(oder kodiert den Text zu UTF-8-Bytes) und führt alle vier SHA-2-Digests parallel durchcrypto.subtle.digest()aus. - Lies die vier Ausgabezeilen. Jede zeigt einen Algorithmusnamen plus den Hex-Digest; die Breiten (40, 64, 96, 128 Hex-Zeichen) entsprechen 160, 256, 384 und 512 Bits Ausgabe.
- Schalte "Großbuchstaben" ein, um die Groß-/Kleinschreibungs-Konvention der externen Prüfsumme anzupassen, gegen die du vergleichst. Die meisten Linux-Distributionen veröffentlichen Kleinbuchstaben; Microsoft und einige ältere Tools verwenden Großbuchstaben.
- Kopiere einen Digest, indem du auf das Kopier-Symbol neben der gewünschten Zeile klickst. Füge ihn in ein Diff-Tool oder ein Terminal ein und vergleiche byte-für-byte; visuelles Abgleichen ist nach 16 Zeichen unzuverlässig.
Warum diese Seite kein gewöhnliches Hash-Tool ist
Diese Seite ist auf Sicherheitsanwendungen ausgerichtet: Passwortprüfung, Dateiintegritäts-Bescheinigung für signierte Downloads und die Grundbausteine, auf denen Passwort-Hashing-Verfahren aufgebaut sind. Die Implementierung nutzt Web Crypto SubtleCrypto, das für SHA-2 zeitkonstant und frei von Seitenkanal-Lecks ist, die handgefertigtes JavaScript plagen. Das Datei-Hashing liest die File über file.arrayBuffer() und übergibt den Puffer an crypto.subtle.digest; ein 500-MB-Download dauert auf einem modernen Laptop etwa eine Sekunde. Kein Byte verlässt den Tab - verifizierbar durch das Fehlen von fetch-Aufrufen. Die vier SHA-2-Varianten sind in FIPS 180-4 beschrieben und von NIST für digitale Signaturen, HMAC und Schlüsselableitung zugelassen. SHA-3 (FIPS 202) ist nicht verfügbar, weil Web Crypto vor seiner Standardisierung entwickelt wurde.
Bedrohungsmodell-spezifische Szenarien
- Prüfen, ob ein heruntergeladenes Ubuntu-ISO-Image mit dem auf releases.ubuntu.com veröffentlichten SHA-256 übereinstimmt, um sich gegen einen vergifteten Mirror oder einen MITM auf einem HTTP-Mirror zu schützen.
- Bestätigen, dass ein signiertes Binary (macOS .dmg, Windows .msi, Linux .deb) mit dem vom Anbieter veröffentlichten SHA-256 übereinstimmt, bevor es auf einem Produktionsserver ausgeführt wird.
- Den Digest-Eingang für ein digitales Signaturschema berechnen - ECDSA und RSA-PSS signieren beide einen Hash, keine Rohdaten, und erwarten einen SHA-256- oder SHA-384-Digest.
- Einen stabilen Datei-Fingerabdruck für einen Audit-Log-Eintrag erzeugen, um später nachweisen zu können, dass eine bestimmte Datei zu einem bestimmten Zeitpunkt existierte, ohne die Datei selbst zu speichern.
- Einen Merkle-Baum für inhaltsadressierbaren Speicher aufbauen, bei dem jedes Blatt ein SHA-256 eines Chunks ist und die Baumwurzel die gesamte Datei bescheinigt.
- Den Körper eines CSR oder Zertifikats für einen Certificate-Transparency-Log-Eintrag hashen, bei dem SHA-256 durch RFC 6962 vorgeschrieben ist.
Warum MD5 und SHA-1 keine Passwort-Hashes sein können
Jeder Algorithmus in diesem Tool ist ein schneller kryptographischer Hash - schnell ist das ausdrückliche Designziel. Eine moderne GPU kann mehr als 10 Milliarden SHA-256-Operationen pro Sekunde berechnen; ein ASIC-Cluster, der Bitcoin schürft, berechnet global mehr als 300 Exahashes pro Sekunde. Schnell ist genau das Falsche für Passwort-Hashing. Der LinkedIn-Vorfall von 2012 ist das Lehrbuchbeispiel: 6,5 Millionen Passwörter wurden als ungesalzenes SHA-1 gespeichert. Innerhalb von 72 Stunden nach der Veröffentlichung des Datenlecks hatten Angreifer mithilfe der RockYou-Wortliste (32 Millionen echte Passwörter aus dem RockYou-Leck von 2009) und hashcat-Regelenerweiterungen über 90 Prozent der Passwörter wiederhergestellt. Die Lösung besteht nicht darin, eine längere SHA-Variante zu wählen - sondern zu einer absichtlich langsamen Passwort-Hashing-Funktion zu wechseln. NIST SP 800-63B Abschnitt 5.1.1.2 schreibt PBKDF2, bcrypt, balloon oder Argon2 mit benutzerspezifischem Salt vor. Verwende das PBKDF2-Tool auf dieser Seite für korrektes Passwort-Hashing; dieses Tool nur dann, wenn das Ziel ein schneller Integritäts-Digest ist, keine Zugangsdaten-Speicherung.
Die SHA-2-Familie und was FIPS 180-4 tatsächlich besagt
FIPS 180-4 (Secure Hash Standard, August 2015) spezifiziert SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256. Die gemeinsame Merkle-Damgard-Konstruktion verarbeitet die Eingabe in fest großen Blöcken (512 Bits für SHA-1/224/256, 1024 Bits für SHA-384/512) durch eine Kompressionsfunktion, die aus einem blockchiffreartigen Davies-Meyer-Konstrukt aufgebaut ist. Die Konstanten stammen aus den Nachkommastellen der Kubikwurzeln der ersten 64 Primzahlen, gewählt nach dem "nothing-up-my-sleeve"-Prinzip. Kollisionsresistenz ist durch den Geburtstagsangriff bei 2^(n/2) Operationen für eine n-Bit-Ausgabe begrenzt, also bietet SHA-256 128-Bit-Kollisionssicherheit und SHA-512 256-Bit. FIPS 202 (SHA-3, Keccak) bietet dieselbe Sicherheit mit einer völlig anderen Konstruktion als Absicherung. NSA Suite B verwendete SHA-384 für TOP-SECRET-Schutz; FIPS 202 fügte SHAKE-128 und SHAKE-256 erweiterbare Ausgabefunktionen hinzu, die für die deterministische Zufälligkeitsextraktion nützlich sind. Wähle standardmäßig SHA-256, SHA-384 oder SHA-512, wenn du eine zusätzliche Sicherheitsmarge benötigst oder eine Spezifikation erfüllen musst.
Wann ein plattformspezifisches Tool besser ist
Für Downloads im Gigabyte-Bereich gewinnt das nativeplattformspezifische Tool: shasum -a 256 ubuntu.iso unter macOS, sha256sum unter Linux, Get-FileHash -Algorithm SHA256 in PowerShell. Diese streamen von der Festplatte und verarbeiten Dateien, die größer als der Browser-Speicher sind. Dieses Tool gewinnt bei plattformübergreifender Bequemlichkeit oder wenn der Benutzer kein Terminal hat. Für Anwendungscode verwende die Sprachbibliothek (hashlib, node:crypto, java.security.MessageDigest), anstatt einen Prozess zu starten. Für Passwort-Hashing ist dieses Tool das falsche Primitiv - greife auf Argon2id (OWASP-Empfehlung 2024), bcrypt oder PBKDF2 über die Begleittools zurück.
Häufig gestellte Fragen
Kann ich SHA-256 verwenden, um ein Passwort vor der Speicherung zu hashen?
Nein. Reines SHA-256 ist von Natur aus schnell, und eine GPU kann 10 Milliarden Kandidaten pro Sekunde gegen einen gestohlenen Hash testen. Der LinkedIn-Datenleck von 2012 nutzte ungesalzenes SHA-1, und rund 90 Prozent der 6,5 Millionen Passwörter wurden innerhalb von Wochen aus der RockYou-Wortliste wiederhergestellt. Für die Passwortspeicherung verwende Argon2id (OWASP-Empfehlung 2024), bcrypt oder PBKDF2-HMAC-SHA-256 mit 600.000+ Iterationen und einem benutzerspezifischen Salt. Das PBKDF2-Tool auf dieser Seite ist die richtige Wahl; SHA-256 als blanker Hash ist das falsche Primitiv für Zugangsdaten, unabhängig von der Anzahl der Ausgabe-Bits.
Werden hochgeladene Dateien irgendwohin gesendet?
Nein. Die Datei wird über die Standard-Methode <code>File.arrayBuffer()</code> in den Speicher gelesen und direkt an <code>crypto.subtle.digest()</code> übergeben, das in der nativen Kryptobibliothek des Browser-Engines implementiert ist (BoringSSL für Chromium, NSS für Firefox, CoreCrypto für Safari). Es gibt keinen Multipart-Upload, kein fetch und keine Service-Worker-Abfangung. Du kannst ein vertrauliches Dokument in diese Seite ablegen, während du offline bist, und der Hash wird trotzdem berechnet. Die Datei wird freigegeben, sobald der Digest aufgelöst ist.
Wie groß darf eine Datei sein, die der Browser hasht?
Begrenzt durch den Browser-Arbeitsspeicher. Chrome erlaubt etwa 2 GB als typisiertes Array in einem einzelnen Tab; Firefox und Safari variieren. Darüber kann der <code>File.arrayBuffer()</code>-Aufruf einen RangeError auslösen oder der Tab abstürzen. Für größere Dateien verwende <code>shasum -a 256</code> oder PowerShells <code>Get-FileHash</code>, die in 64-KB-Chunks von der Festplatte streamen, ohne die gesamte Datei zu laden. Eine Streaming-Web-Crypto-API wurde vorgeschlagen, ist aber 2026 noch kein Standard.
Woher weiß ich, welche SHA-Variante beim Prüfen eines Downloads passt?
Schau in die Prüfsummendatei, die dem Download beiliegt. SHA256SUMS- und *.sha256-Dateien listen SHA-256-Digests auf; *.sha512-Dateien listen SHA-512. Die Digest-Länge ist selbst ein Hinweis: 64 Hex-Zeichen ist SHA-256, 128 ist SHA-512, 40 ist SHA-1. Distributionen veröffentlichen fast universell SHA-256, manchmal zusammen mit einer GPG-Signatur auf der SHA256SUMS-Datei selbst - die Signatur zuerst zu prüfen ist die vollständige Vertrauenskette.
Ist SHA-1 noch akzeptabel?
Nur für nicht-gegnerische Prüfsummen, bei denen Kollisionsresistenz keine Rolle spielt. Git-Objekt-IDs, rsync-Prüfsummen und einige CDN-Cache-Schlüssel verwenden weiterhin SHA-1, weil die Bedrohung zufällige Beschädigung ist, nicht ein Angreifer, der zwei Eingaben mit demselben Hash erstellt. Seit SHAttered (2017) und Chosen-Prefix Collisions (2020, Kosten von rund 45.000 Dollar) darf SHA-1 nicht mehr für Signaturen, Zertifikat-Fingerabdrücke oder irgendeine Sicherheitsgrenze verwendet werden. TLS-Zertifikate unterstützen SHA-1 seit 2016 nicht mehr.
Was ist der Unterschied zwischen SHA-2 und SHA-3?
SHA-2 (FIPS 180-4) verwendet die Merkle-Damgard-Konstruktion mit einer Kompressionsfunktion nach Davies-Meyer-Stil. SHA-3 (FIPS 202, 2015) verwendet die völlig unverwandte Keccak-Schwamm-Konstruktion. Beide bieten das gleiche Sicherheitsniveau bei gleicher Ausgabegröße. SHA-3 ist nicht in diesem Tool, weil Web Crypto nur SHA-2 bereitstellt. Kryptographen halten beide Standards als Absicherung aktiv - falls ein Durchbruch SHA-2 beeinträchtigt, steht SHA-3 als Drop-in-Ersatz bereit. Für neue Entwürfe ohne Einschränkungen wähle SHA-256 oder SHA-384 für Ökosystem-Kompatibilität.
Was ist ein Length-Extension-Angriff und ist er hier relevant?
Merkle-Damgard-Hashes (SHA-1, SHA-256, SHA-512) sind anfällig für Length-Extension: Gegeben H(Schlüssel || Nachricht) und die Länge von Schlüssel||Nachricht kann ein Angreifer H(Schlüssel || Nachricht || Auffüllung || Angreifer-Daten) berechnen, ohne den Schlüssel zu kennen. Das bricht naive MAC-Schemata wie "Hash-Geheimnis dann Nachricht". Die Lösung ist HMAC (RFC 2104), das doppelt hasht mit inner und outer Auffüllung. SHA-3 und SHA-384 sind nicht anfällig. Für die Nachrichtenauthentifizierung niemals reines SHA-256 mit einem geheimen Präfix verwenden - immer HMAC.
Warum erzeugt Text mit einem nachgestellten Zeilenumbruch einen anderen Hash?
Weil Hash-Funktionen byte-deterministisch sind. "hallo" (5 Bytes) und "hallo\n" (6 Bytes) sind verschiedene Eingaben. Beim Vergleich von Hashes über Plattformen hinweg prüfe die Zeilenenden: Windows CRLF (0x0D 0x0A) und Unix LF (0x0A) unterscheiden sich. Wurde eine Prüfsummendatei unter Linux erstellt und du hast eine unter Windows Notepad berechnet, das automatisch CRLF hinzufügt, unterscheiden sie sich.
Mehr Security & Privacy
AES-256 Encrypt / Decrypt Online - Free, In-Browser
Encrypt and decrypt text with AES-128, AES-192, or AES-256 in GCM, CBC, or CTR mode. PBKDF2 key derivation, entirely in your browser.
Open toolBasic Auth Header Generator
Create HTTP Basic Authentication headers from a username and password or API token.
Open toolCSP Header Generator
Build Content-Security-Policy headers with a visual form, presets and per-directive configuration.
Open toolPassword Entropy Calculator
Estimate password entropy, character pool size and crack-time ranges for online and offline attacks.
Open toolPassword Generator
Generate cryptographically secure random passwords with configurable length, character types and entropy display.
Open toolPassword Strength Checker
Check password strength with entropy calculation, pattern detection and common password matching.
Open tool