Informatik
Hash-Generator: MD5, SHA-1, SHA-256 und SHA-512
Gib einen Text ein oder füge Bytes hexadezimal ein und erhalte sofort die Prüfsummen aller gängigen Algorithmen. Füge einen Hash ins Prüffeld ein, um zu sehen, ob und mit welchem Algorithmus er passt.
Was ein Hash ist und wozu er dient
Eine Hashfunktion macht aus Daten beliebiger Länge einen Fingerabdruck fester Länge: 128 Bit bei MD5, 256 bei SHA-256. Ändert man einen einzigen Buchstaben, ändert sich der Fingerabdruck vollständig, und vom Fingerabdruck führt kein Weg zurück zu den Daten.
Deshalb prüft man mit Hashes, ob ein Download unversehrt ist, identifiziert Daten, ohne sie aufzubewahren, signiert Dokumente und speichert, mit langsamen Algorithmen und Salt, Passwörter. Git benennt jede Version mit einem SHA-1, Bitcoin beruht auf SHA-256.
MD5 und SHA-1 sind nicht mehr sicher: Man kann gezielt zwei verschiedene Dateien mit gleichem Fingerabdruck erzeugen. Gegen Übertragungsfehler taugen sie noch, für Sicherheit braucht es SHA-256 oder stärker.
Häufige Fehler
- Einen Hash über einen Text mit zusätzlichem Zeilenumbruch oder Leerzeichen vergleichen: Ein unsichtbares Zeichen ändert alles.
- Passwörter mit bloßem MD5 oder SHA-256 speichern: Sie lassen sich viel zu schnell massenhaft durchprobieren. Nötig sind langsame Verfahren wie bcrypt oder Argon2.
- Glauben, ein Hash lasse sich entschlüsseln: Er ist keine Verschlüsselung. Seiten, die Hashes 'umkehren', schlagen sie nur in Tabellen vorberechneter Werte nach.
Häufige Fragen
Kann ich aus dem Hash den Text zurückgewinnen?
Nein. Eine gute Hashfunktion lässt sich nicht umkehren; man kann den Text nur erraten und vergleichen. Deshalb werden kurze oder häufige Passwörter trotzdem gefunden.
Wie prüfe ich eine heruntergeladene Datei?
Berechne den Hash der Datei mit einem Systemwerkzeug (sha256sum unter Linux, Get-FileHash unter Windows) und vergleiche ihn mit dem veröffentlichten. Weicht ein einziges Zeichen ab, ist die Datei eine andere.
Warum ergibt derselbe Text in verschiedenen Programmen verschiedene Hashes?
Meist wegen der Kodierung oder der Zeilenenden: Ein Text mit CRLF oder in Latin-1 hat andere Bytes als derselbe Text in UTF-8 mit LF und damit einen anderen Hash.
So funktioniert diese Berechnung
Der Text wird zuerst mit UTF-8 in Bytes umgewandelt. SHA-1, SHA-256, SHA-384 und SHA-512 berechnet die Web-Crypto-API des Browsers nach FIPS 180-4. MD5 folgt RFC 1321: Die Daten werden mit ihrer Länge auf ein Vielfaches von 512 Bit aufgefüllt, dann durchläuft jeder Block 64 Schritte aus Additionen, Rotationen und logischen Funktionen auf vier 32-Bit-Wörtern.
Verwandte Rechner
Passwortstärke prüfen
Entropie in Bit und Zeit zum Erraten, mit erkannten schwachen Mustern. Nichts verlässt den Browser.
Base64-Umrechner
Von Text, Ganzzahl, Hexadezimal oder Binär nach Base64 und zurück, mit erklärten 6-Bit-Gruppen.
Unix-Zeitstempel-Umrechner
Vom Unix-Zeitstempel zu Datum und Uhrzeit und zurück: Sekunden, Millisekunden, UTC, Ortszeit.
CRC32- und Adler-32-Prüfsummen
CRC-32, CRC-32C, vier CRC-16-Varianten, CRC-8, Adler-32 und Fletcher-16 von Text oder Hex-Bytes.