Hash Generator

MD5-Hash-Generator: Schnelle Hash-Berechnung

Erzeuge MD5-Hashes aus Text. MD5 erzeugt einen 128-Bit-Digest (32 Hex-Zeichen). Erklärt Checksummen-Prüfung und warum MD5 für Sicherheit gebrochen ist.

100% clientseitig. Deine Daten verlassen niemals deinen Browser.

Hashes
MD5
SHA-1
SHA-256
SHA-512

Verwandte Werkzeuge

MD5-Hash-Generator

Der MD5-Hash des Textes The quick brown fox jumps over the lazy dog ist 9e107d9d372bb6826bd81d3542a419d6. MD5 erzeugt eine feste 128-Bit-Ausgabe (32 Hex-Zeichen) aus jeder Eingabe. Es ist schnell, weit verbreitet und seit 2004 kryptografisch für Sicherheitszwecke gebrochen.

Hash-Ergebnis

9e107d9d372bb6826bd81d3542a419d6

Du kannst das überall überprüfen:

# Linux / macOS
echo -n "The quick brown fox jumps over the lazy dog" | md5sum

# macOS-Alternative
echo -n "The quick brown fox jumps over the lazy dog" | md5

# Python
import hashlib
hashlib.md5(b"The quick brown fox jumps over the lazy dog").hexdigest()

# Node.js
const crypto = require('crypto');
crypto.createHash('md5').update('The quick brown fox jumps over the lazy dog').digest('hex');

Das Flag -n bei echo unterdrückt den abschließenden Zeilenumbruch. Ohne es würdest du einen anderen String hashen und ein anderes Ergebnis erhalten.

Warum MD5 kryptografisch gebrochen ist

Der grundlegende Angriff ist eine Kollision: zwei unterschiedliche Eingaben, die denselben MD5-Hash erzeugen. Das Paper von Xiaoyun Wang aus dem Jahr 2004 zeigte, dass dies mit einem vernünftigen Rechenaufwand erreicht werden konnte. Im Jahr 2008 war der Angriff praktisch genug, dass ein Forscherteam ihn nutzte, um ein CA-Zertifikat zu fälschen. Sie erzeugten ein Paar von Zertifikatsignieranfragen, die in MD5 kollidierten, ließen eine legitime CA eine signieren und erhielten eine gültige Signatur, die auch das bösartige Zertifikat abdeckte, das sie vorbereitet hatten. Dies erlaubte ihnen, vertrauenswürdige SSL-Zertifikate für jede Domain auszustellen.

Die Malware Flame nutzte 2012 dieselbe Technik, um bösartige Windows-Updates wie von Microsoft signiert aussehen zu lassen. Die Kollision wurde auf einem Cluster berechnet, aber die Technik war etabliert.

Was das in der Praxis bedeutet

Eine MD5-Kollision ist eine gewählte Präfix-Kollision: Ein Angreifer kann zwei Dokumente mit demselben MD5-Hash erstellen, wobei beide Präfixe unter der Kontrolle des Angreifers stehen. Das ist der Angriff, der Zertifikatsfälschung möglich macht. Wenn ein System auf MD5 vertraut, um zu überprüfen, dass Dokument A nicht durch Dokument B ersetzt wurde, ist dieses Vertrauen brechbar.

Wo MD5 noch akzeptabel ist

Der gebrochene Status von MD5 gilt für Sicherheitskontexte mit Gegnern. Viele legitime Verwendungen beinhalten keinen Gegner, der versucht, Kollisionen zu erzeugen:

Dateideduplizierung

Speichersysteme verwenden MD5, um doppelte Dateien zu erkennen. Ein Angreifer, der Dateien mit gefälschten MD5-Kollisionen einschleusen kann, ist ein viel größeres Problem als das Risiko einer Hash-Kollision. Amazon S3 akzeptiert MD5-Checksummen für die Upload-Integrität (Bit-Flip-Erkennung, nicht adversarielle Prüfung).

Cache-Schlüssel und ETags

Webserver verwenden oft MD5 des Dateiinhalts als ETag. Das ist eine Leistungsoptimierung und ein beiläufiger Deduplizierungsmechanismus, keine Sicherheitsgarantie.

Hash-Tabellen-Verteilung und Datenbank-Sharding

Die MD5-Ausgabe ist gut verteilt und schnell. Systeme, die Daten per Hash eines Schlüssels sharden, verwenden dafür oft MD5, ohne Sicherheitsimplikation.

Legacy-Systeme

Viel Code verwendet noch MD5, weil er geschrieben wurde, bevor die Angriffe demonstriert wurden, oder weil er nie geändert werden musste. Wenn du einen Digest in einem Log siehst, der MD5 sagt, ist die Frage: Was ist hier das tatsächliche Vertrauensmodell?

Wo MD5 nicht verwendet werden sollte

Passwort-Hashing

MD5 ist zu schnell. Ein Angreifer mit einer GPU kann Milliarden von MD5-Hashes pro Sekunde berechnen. Selbst MD5 mit Salt ist gegen durchgesickerte Datenbanken brechbar. Verwende bcrypt, Argon2 oder scrypt, die absichtlich langsam und memory-hard sind.

Digitale Signaturen

Signaturschemata hashen das Dokument vor dem Signieren. Wenn ein Angreifer zwei Dokumente mit demselben Hash erstellen kann, kann er eine Signatur auf dem harmlosen Dokument erhalten und auf das bösartige anwenden.

TLS-Zertifikate

SHA-256 wird seit 2017 für Zertifikatssignaturen verlangt. MD5-Hash in Zertifikaten wird von allen modernen Browsern abgelehnt.

Dateiintegrität für sicherheitsrelevante Downloads

Wenn du eine SHA-256-Checksumme zusammen mit einer Binärdatei veröffentlichst, kann der Benutzer überprüfen, dass er genau das heruntergeladen hat, was du veröffentlicht hast. Eine MD5-Checksumme kann diese Garantie gegen einen motivierten Angreifer nicht bieten.

Vergleich von MD5, SHA-1 und SHA-256

AlgorithmusAusgabeStatus
MD5128 Bit (32 Hex-Zeichen)Gebrochen. Praktische Kollisionsangriffe seit 2004
SHA-1160 Bit (40 Hex-Zeichen)Gebrochen. SHAttered-Kollisionsangriff 2017 demonstriert
SHA-256256 Bit (64 Hex-Zeichen)Sicher. Keine bekannte Schwäche

Für nicht-sicherheitsrelevante Checksummen, bei denen du nur Fehlererkennung brauchst (keine adversarielle Integrität), ist MD5 geeignet. Für alles, bei dem ein Gegner eingreifen könnte, verwende SHA-256. Siehe den SHA-256-Hash-Generator für mehr darüber, wie SHA-256 funktioniert.