Hash erzeugen
MD5, SHA-1, SHA-256, SHA-384 und SHA-512 – für Text oder eine Datei beliebiger Größe. Praktisch, um zu prüfen, ob ein Download zu seiner veröffentlichten Prüfsumme passt. Es wird nichts gespeichert.
- Nie gespeichert
- Keine Warteschlange, kein Warten
- Ohne Anmeldung, ohne Wasserzeichen
Text wird als UTF-8 gehasht. Legen Sie stattdessen eine Datei ab, um einen Download zu prüfen.
So funktioniert’s
Text einfügen oder Datei ablegen
Text wird als UTF-8 gehasht. Eine Datei wird hier gelesen und gehasht; sie wird nie gespeichert.
Alle Hashes auf einmal lesen
Alle fünf Algorithmen werden zusammen berechnet, Sie müssen also nicht vorher wissen, welchen Sie brauchen.
Mit einem erwarteten Wert vergleichen
Fügen Sie die Prüfsumme ein, die Sie erhalten haben, und der Abgleich wird für Sie erledigt – beim Vergleichen Zeichen für Zeichen mit bloßem Auge passieren die Fehler.
Was ein Hash beweist – und was nicht
Ein Hash ist ein Fingerabdruck fester Länge für eine beliebige Datenmenge, und er hat zwei Eigenschaften, die man genau benennen sollte. Er ist Einweg – es gibt keine Operation, die einen Hash wieder in die Daten zurückverwandelt, denn fast die gesamte Information ist verloren. Und er ist empfindlich: Ändert sich ein einziges Bit der Eingabe, ändert sich ungefähr die Hälfte der Bits der Ausgabe. Das macht ihn nützlich, um zu bestätigen, dass eine Datei unbeschädigt heruntergeladen wurde oder dass zwei Dateien gleich sind, ohne sie Byte für Byte zu vergleichen.
MD5 und SHA-1 sind gebrochen und trotzdem hier – aus einem Grund. Für beide gibt es praktikable Kollisionsangriffe – für MD5 seit 2004, für SHA-1 2017 mit einem echten PDF-Paar demonstriert –, das heißt, jemand kann zwei verschiedene Dateien mit demselben Hash konstruieren. Gegenüber einem Angreifer beweist also keiner der beiden etwas. Beide eignen sich aber weiterhin bestens, um versehentliche Beschädigungen zu erkennen, und sehr viel echte Software veröffentlicht noch MD5-Prüfsummen – einen Download damit abzugleichen, ist also ein legitimer Bedarf. Nehmen Sie SHA-256 für alles, wobei jemand versuchen könnte, Sie zu täuschen.
Hashen Sie nie ein Passwort mit einem dieser Verfahren. Das ist das Folgenreichste auf dieser Seite. Hashes sind darauf ausgelegt, schnell zu sein, und schnell ist für Passwörter genau falsch: Eine moderne Grafikkarte berechnet Milliarden SHA-256-Hashes pro Sekunde, sodass eine gestohlene Datenbank mit gehashten Passwörtern in Stunden geknackt ist. Zum Speichern von Passwörtern braucht es eine absichtlich langsame Funktion mit einem Salt pro Benutzer – argon2, bcrypt oder scrypt –, die gezielt Zeit und Speicher kosten. Ein einfacher SHA-256-Hash eines Passworts ist eine Schwachstelle, kein Schutz, ganz gleich, wie er in einer Datenbankspalte aussieht.
Einen selbst berechneten Hash mit einem zu vergleichen, der auf derselben Seite veröffentlicht ist, von der Sie heruntergeladen haben, beweist weniger, als es scheint: Wer die Datei austauschen konnte, konnte auch die Zahl daneben austauschen. Eine Prüfsumme ist am meisten wert, wenn sie von woanders stammt – aus einem signierten Release, über einen separaten Kanal oder als Wert, den Sie selbst früher notiert haben.
Wenn Sie etwas anderes brauchen
Auf der Kommandozeile ist das ein einziger Befehl: shasum -a 256 file unter macOS und Linux, certutil -hashfile file SHA256 unter Windows und md5sum oder sha1sum, wo eine ältere Prüfsumme veröffentlicht ist. Sie streamen die Datei, statt sie zu laden, und haben daher keine Größenbegrenzung – das ist der eigentliche Unterschied bei allem über ein paar hundert Megabyte, wo eine Seite, die die ganze Datei im Speicher hält, schlicht scheitert.
Um zu prüfen, ob ein Release echt und nicht nur unbeschädigt ist, ist ein Hash allein das falsche Werkzeug. GPG-Signaturen – gpg --verify file.sig file – beweisen, wer die Datei erstellt hat, und genau diese Frage kann eine Prüfsumme nicht beantworten. Die meisten ernstzunehmenden Projekte veröffentlichen beides, und entscheidend ist die Signatur.
Häufig gestellte Fragen
Wird meine Datei irgendwo gespeichert?
Nein. Die Datei wird mit derselben eingebauten Kryptografie gehasht, die auch HTTPS abwickelt. Es wird nichts gespeichert, daher gibt es keine Größenobergrenze und kein Warten auf eine Verbindung.
Gibt es eine Größenbegrenzung?
Den verfügbaren Arbeitsspeicher, keine feste Obergrenze. Die Kryptografie des Browsers kann eine Datei nicht stückweise hashen – sie braucht die ganze Datei auf einmal im Speicher –, daher kann eine sehr große Datei (etwa ein DVD-Image) auf einem Rechner scheitern, der sie nicht fassen kann. Dateien bis zu einigen hundert Megabyte sind auf einem normalen Computer kein Problem. Scheitert eine große Datei, ist das die Grenze, an die Sie gestoßen sind, und die Seite sagt das, statt hängen zu bleiben.
Welchen Hash sollte ich verwenden?
SHA-256 für alles Neue. Es ist der moderne Standard, wird für Software-Prüfsummen, Container-Digests und Blockchain-Systeme verwendet und hat keine bekannten Schwächen. MD5 oder SHA-1 nur dann, wenn etwas anderes sie verlangt – der Abgleich mit einer alten veröffentlichten Prüfsumme, ein Altsystem oder Git, das Objekte per SHA-1 identifiziert. SHA-512, wenn Sie gezielt einen längeren Digest wollen; auf 64-Bit-Rechnern ist es oft schneller als SHA-256, nicht langsamer.
Kann ich damit ein Passwort hashen?
Können schon, aber Sie sollten das Ergebnis nicht speichern. Das ist der mit Abstand häufigste Fehler auf diesem Gebiet, deshalb ganz direkt: MD5, SHA-1 und SHA-256 sind allesamt falsch für Passwörter, und dass SHA-256 kryptografisch stark ist, hilft nicht. Das Problem ist, dass diese Funktionen absichtlich SCHNELL sind – eine moderne Grafikkarte berechnet Milliarden SHA-256-Hashes pro Sekunde, sodass eine gestohlene Datenbank mit SHA-256-Passwort-Hashes in enormem Tempo geknackt wird. Passwörter brauchen eine absichtlich langsame, gesalzene Funktion, die genau dafür gebaut ist: bcrypt, scrypt oder Argon2. Jedes ernstzunehmende Framework bringt eine mit.
Warum ist MD5 als gebrochen markiert?
Weil inzwischen jeder auf gewöhnlicher Hardware in Sekunden zwei verschiedene Dateien mit demselben MD5-Hash konstruieren kann. Das gilt seit 2004 und wurde mit echten, funktionierenden Folgen demonstriert – zwei PDFs, die unterschiedliche Verträge zeigen, zwei Programme, von denen eines Malware ist. MD5 kann also nicht beweisen, dass eine Datei die erwartete ist; eine gezielte Fälschung kann übereinstimmen. Um versehentliche Beschädigungen zu erkennen, etwa einen fehlerhaften Download oder eine abgeschnittene Kopie, ist es weiterhin völlig in Ordnung – und genau dafür sind die meisten veröffentlichten MD5-Prüfsummen eigentlich gedacht. Für Sicherheitszwecke darf es nie verwendet werden.
Warum ist SHA-1 als gebrochen markiert?
Aus demselben Grund, nur später. 2017 erzeugten Google und das CWI zwei verschiedene PDFs mit demselben SHA-1-Hash, und bis 2020 war der Angriff billig genug, um damit Signaturen zu fälschen. Browser akzeptieren seit Jahren keine SHA-1-Zertifikate mehr, und Git stellt nach und nach davon um. Wenn Sie heute einen Algorithmus wählen, wählen Sie SHA-256.
Wie prüfe ich einen Download?
Legen Sie die heruntergeladene Datei ab und fügen Sie dann die Prüfsumme von der Website, von der Sie sie haben, in das Vergleichsfeld ein. Stimmen sie überein, ist die Datei unbeschädigt angekommen und ist genau die veröffentlichte. Stimmen sie nicht überein, löschen Sie sie und laden Sie sie erneut herunter. Zwei Vorbehalte: Holen Sie die Prüfsumme aus der offiziellen Quelle statt von dort, wo Sie die Datei herhaben, und bedenken Sie, dass eine Prüfsumme nur beweist, dass die Datei dem entspricht, was diese Seite veröffentlicht hat – wurde die Seite selbst kompromittiert, stimmen beide überein.
Werden die Hashes korrekt berechnet?
SHA-1, SHA-256, SHA-384 und SHA-512 stammen aus der browsereigenen Web-Crypto-Implementierung, demselben Code, der HTTPS abwickelt. MD5 ist nicht in Web Crypto enthalten – absichtlich, weil es gebrochen ist –, daher ist es hier direkt nach RFC 1321 implementiert und gegen die in diesem Dokument selbst veröffentlichten Testvektoren geprüft.
Gut zu wissen: MD5 und SHA-1 gibt es hier, weil echte Dateien und alte Systeme sie noch verwenden, nicht weil sie sicher wären – beide sind für alles Sicherheitsrelevante gebrochen und nur als Prüfsummen nützlich. Web Crypto kennt keinen inkrementellen Digest, daher wird die ganze Datei im Speicher gehalten: Sehr große Dateien scheitern, statt gestreamt zu werden.
Dieses Tool auf Ihrer Website einbinden
Kostenlos für jeden Blog, jede Kursseite und jeden Hilfeartikel. Fügen Sie ein einziges Snippet ein, und Ihre Besucher können das Tool direkt auf Ihrer Seite nutzen.
Weitere Entwickler-Tools
Base64 kodieren
Text oder eine Datei in Base64 umwandeln
UUID-Generator
v4 für Geheimnisse, v7 für Datenbankschlüssel
JWT-Decoder
Sehen, was in einem Token steckt – privat
Base64 dekodieren
Base64 wieder in Text oder eine Datei umwandeln
JSON formatieren
Unlesbares JSON lesbar machen
JSON-Validator
Genau sehen, wo das JSON fehlerhaft ist