MD5- und SHA-Hash-Generator

Fügen Sie einen Text ein oder ziehen Sie eine Datei hierher und sehen Sie MD5, SHA-1, SHA-256, SHA-384 und SHA-512 gleichzeitig. Um einen Download zu prüfen, fügen Sie den veröffentlichten Hash ein, und die Seite zeigt, ob er übereinstimmt. Text und Datei verlassen Ihren Browser nicht.

MD5 und SHA-1 eignen sich für Prüfsummen und Kompatibilität mit älteren Systemen, nicht für Sicherheit. Ein Hash ist auch keine Verschlüsselung: Es gibt keinen Schlüssel und keinen Weg zurück zum Originaltext.

Quelle
0 Bytes
Der Text ist
Zeilenumbrüche
Algorithmen
Ausgabeformat

Ergebnis

Noch kein Hash

Geben Sie einen Text ein oder wählen Sie eine Datei. Jeder ausgewählte Algorithmus erscheint hier mit Kopieren-Schaltfläche.

Groß- und Kleinschreibung, Leerzeichen und Präfixe wie sha256: werden ignoriert. Der Algorithmus ergibt sich aus der Länge.

Müssen Sie die Signatur eines Webhooks prüfen? Sie verwendet HMAC, einen Hash mit geheimem Schlüssel.

HMAC prüfen

Wollen Sie Passwörter speichern? MD5 und SHA sind dafür zu schnell. Erzeugen Sie einen bcrypt-Hash für Ihren Testnutzer.

bcrypt erzeugen

Was ist ein Hash

Eine Hashfunktion macht aus jeder Eingabe, von einem Wort bis zu einer Datei mit mehreren Gigabyte, einen Wert fester Größe: 32 Hex-Zeichen bei MD5, 64 bei SHA-256. Dieselbe Eingabe ergibt immer denselben Hash, und schon ein geändertes Bit ändert das ganze Ergebnis. Deshalb dient der Hash als Fingerabdruck des Inhalts. Er ist keine Verschlüsselung, denn es gibt weder Schlüssel noch Rückweg. Websites, die angeblich MD5 entschlüsseln, schlagen den Hash nur in einer vorab berechneten Liste häufiger Passwörter nach.

Länge und Einsatz der Algorithmen

AlgorithmusHex-ZeichenWo er vorkommt
MD532ETag, Content-MD5, Deduplizierung und alte Integrationen. Nicht für Sicherheit.
SHA-140Git-Commits und Altsysteme. Kollision 2017 demonstriert.
SHA-25664Prüfsummen von Releases, Docker, SRI, TLS und JWT HS256. Die Standardwahl.
SHA-38496Subresource Integrity und Zertifikate.
SHA-512128Langer Hash, wenn die Spezifikation ihn verlangt. Schnell auf 64-Bit-CPUs.
SHA3-25664Spezifikationen, die SHA-3 verlangen. Andere Konstruktion als SHA-2.
SHA3-512128Wie SHA3-256, mit längerer Ausgabe.
CRC328ZIP, gzip, PNG und Netzwerke. Erkennt zufällige Fehler, keine Manipulation.

MD5 und SHA-1: gebrochen, aber noch verbreitet

Die erste MD5-Kollision wurde 2004 veröffentlicht, und heute entstehen zwei verschiedene Inhalte mit demselben MD5 in Sekunden auf einem Laptop. 2017 veröffentlichte Google zwei PDFs mit demselben SHA-1. Damit scheiden beide für digitale Signaturen, Zertifikate und Passwörter aus. Um zufällige Beschädigungen zu erkennen, taugen sie weiterhin, und man findet sie im ETag von Servern und S3, in Content-MD5, bei der Deduplizierung von Dateien, in alten Integrationen, die Anfragen mit MD5 signieren, und in Git-Commits, die noch SHA-1 verwenden.

SHA-256, SHA-384 oder SHA-512

Alle drei gehören zur SHA-2-Familie und gelten weiterhin als sicher. SHA-256 ist der De-facto-Standard: Prüfsummen von Releases, Docker, Bitcoin, TLS und HS256 bei JWT. SHA-512 erzeugt 128 Zeichen und ist auf 64-Bit-CPUs oft schneller als SHA-256. SHA-384 ist ein gekürzter SHA-512 und kommt in Subresource Integrity (integrity="sha384-...") und in Zertifikaten vor. SHA-3 ist eine andere Konstruktion, nützlich, wenn eine Spezifikation sie verlangt, ersetzt SHA-2 aber nicht wegen einer Schwäche.

So prüfen Sie die Prüfsumme eines Downloads

Projekte wie Ubuntu, Node.js und Python veröffentlichen neben dem Download eine SHA256SUMS-Datei. Ziehen Sie die heruntergeladene Datei hierher und fügen Sie die passende Zeile in das Feld für den erwarteten Hash ein. Im Terminal lautet dieselbe Prüfung sha256sum datei.iso unter Linux, shasum -a 256 datei.iso unter macOS und Get-FileHash datei.iso in PowerShell, das den Hash in Großbuchstaben ausgibt. Groß- und Kleinschreibung ändern den Wert nicht.

Warum derselbe Text einen anderen Hash ergibt

Fast immer sind es unsichtbare Bytes. echo "passwort" | md5sum enthält den abschließenden Zeilenumbruch, echo -n nicht. Unter Windows gespeicherte Dateien verwenden CRLF (\r\n), unter Linux LF (\n). Ein Editor hat vielleicht ein BOM an den Anfang gesetzt, oder der Text ist in Latin-1 statt UTF-8, wodurch sich die Bytes von ä und ß ändern. Mit der Auswahl der Zeilenumbrüche und dem Bytezähler finden Sie den Unterschied.

Passwörter nicht mit MD5 oder SHA speichern

MD5 und SHA wurden auf Geschwindigkeit ausgelegt, und eine normale Grafikkarte testet Milliarden Hashes pro Sekunde. Mit einer Liste geleakter Passwörter fallen die meisten Passwort-Hashes in MD5 oder SHA-256 in Minuten, mit oder ohne festes Salt. Verwenden Sie für Passwörter einen absichtlich langsamen Algorithmus mit Salt pro Nutzer, etwa bcrypt oder Argon2.

Häufige Fragen zu Hashes

MD5, SHA, Datei-Prüfsummen und warum ein Hash nicht übereinstimmt.