Wofür Hashes gut sind
Eine Hashfunktion macht aus beliebig langen Daten einen Wert fester Länge, den Fingerabdruck. Dieselben Daten ergeben immer denselben Hash; schon ein geändertes Bit liefert einen völlig anderen. Aus dem Hash lässt sich der Inhalt nicht zurückrechnen. Ein Hash ist deshalb keine Verschlüsselung: Es gibt nichts zu entschlüsseln, aber kurze oder erratbare Eingaben (etwa einfache Passwörter) lassen sich durch Ausprobieren und Tabellen finden.
Typische Einsatzzwecke: Downloads und Backups auf Unversehrtheit prüfen, Dateien vergleichen oder Duplikate finden, Cache-Schlüssel und Content-Adressen bilden (Git, Docker-Digests), Integritätsangaben für Skripte (sha384-… bei Subresource Integrity) und digitale Signaturen, die über den Hash des Dokuments laufen.
Mit HMAC kommt ein geheimer Schlüssel dazu: Nur wer ihn kennt, kann den passenden Wert berechnen. So sichern Webhooks ihre Nachrichten ab (etwa X-Hub-Signature-256 bei GitHub). Hier können Sie HMAC-SHA-256 und HMAC-SHA-512 nachrechnen, wenn eine Signatur nicht passt.
Welcher Algorithmus? MD5 und SHA-1 sind gebrochen
- SHA-256 ist die Standardwahl: überall verfügbar, schnell, sicher. Im Zweifel nehmen Sie diesen.
- SHA-384 und SHA-512 gehören zur selben SHA-2-Familie. Sie liefern längere Werte und sind auf 64-Bit-Systemen oft schneller. SHA-384 ist eine gekürzte Variante von SHA-512 und wird zum Beispiel bei Subresource Integrity verwendet.
- SHA-1 gilt als gebrochen: Seit 2017 sind echte Kollisionen bekannt, 2019/2020 folgten gezielte Angriffe mit gewähltem Präfix. Für Signaturen und Zertifikate ist SHA-1 nicht mehr zulässig.
- MD5 ist noch länger gebrochen; Kollisionen lassen sich in Sekunden erzeugen. Verwenden Sie MD5 nie dort, wo ein Angreifer im Spiel sein kann. Für reine Prüfsummen gegen Übertragungsfehler oder zum Abgleich mit Altsystemen ist er weiterhin gebräuchlich, deshalb ist er hier ausdrücklich als „nicht sicher“ gekennzeichnet.
- Passwörter gehören nicht in ein einfaches SHA-256. Dafür gibt es bewusst langsame Verfahren wie Argon2id, scrypt, bcrypt oder PBKDF2.
Downloads prüfen: sha256sum, shasum, Get-FileHash
Vergleichen Sie den Hash der heruntergeladenen Datei mit dem, den der Anbieter veröffentlicht. Hier wählen Sie die Datei einfach im Dateifeld aus, sie wird nicht hochgeladen, sondern lokal gelesen. Auf der Kommandozeile geht es so:
- Linux:
sha256sum datei.iso; mit einer Liste des Anbieters:sha256sum -c SHA256SUMS --ignore-missing - macOS:
shasum -a 256 datei.iso - Windows PowerShell:
Get-FileHash datei.iso -Algorithm SHA256; in der Eingabeaufforderungcertutil -hashfile datei.iso SHA256 - Überall mit OpenSSL:
openssl dgst -sha256 datei.iso
Tragen Sie den erwarteten Wert in das Vergleichsfeld ein: Groß- und Kleinschreibung sowie Leerzeichen spielen keine Rolle, auch eine ganze Zeile aus SHA256SUMS wird erkannt. Beachten Sie: Steht der Hash auf derselben Seite wie der Download, schützt er nur vor Übertragungsfehlern, nicht vor einer manipulierten Seite. Prüfen Sie zusätzlich die Signatur (GPG), wenn der Anbieter eine bereitstellt.
Häufige Fragen
- Warum weicht mein Text-Hash von
sha256sumab? Meist wegen des Zeilenumbruchs am Ende:echo abc | sha256sumhasht „abc“ plus Newline. Verwenden Sieprintf %s abc | sha256sumoderecho -n abc. Auch Zeilenenden (LF oder CRLF) und die Zeichenkodierung ändern den Hash; dieses Tool kodiert Text als UTF-8. - Wird meine Datei hochgeladen? Nein. Sie wird im Browser als ArrayBuffer gelesen und lokal berechnet. Wegen des Arbeitsspeichers sind höchstens 512 MB erlaubt.
- Hex oder Base64? Hex ist üblich bei
sha256sumund Docker-Digests; Base64 bei Subresource Integrity und vielen APIs. Es ist derselbe Wert in anderer Schreibweise; das Vergleichsfeld versteht beide. - Warum kein HMAC mit MD5 oder SHA-1? Es wird bewusst nur HMAC-SHA-256 und HMAC-SHA-512 angeboten, da die anderen für neue Anwendungen nicht mehr empfohlen sind.
- Der Schlüssel ist leer? HMAC braucht einen nicht leeren Schlüssel, sonst meldet das Tool einen Fehler.
Datenschutz
Läuft vollständig in Ihrem Browser; nichts wird gesendet oder gespeichert.