RunToolz iconRunToolz
Welcome to RunToolz!
SicherheitHashingKryptografie

Hashing erklärt: MD5, SHA und wann du welches verwendest

Hash-Funktionen verwandeln Daten in Fingerabdrücke. Hier erfährst du, wie sie funktionieren und warum MD5 noch nicht tot ist.

RunToolz Team18. Januar 20263 min read

Du lädst eine Datei herunter. Die Website zeigt eine MD5-Prüfsumme. Du sollst sie irgendwie verifizieren. Aber warum? Und was ist der Unterschied zwischen MD5 und SHA-256?

Hash-Funktionen sind überall in Software. Sie zu verstehen hilft dir, sie korrekt zu verwenden.

Was Hashing macht

Eine Hash-Funktion nimmt beliebige Eingaben und produziert eine Ausgabe fester Größe. Immer dieselbe Ausgabe für dieselbe Eingabe. Ändere ein Bit der Eingabe, und die Ausgabe ändert sich komplett.

"hello" → 5d41402abc4b2a76b9719d911017c592 (MD5)
"Hello" → 8b1a9953c4611296a827abf8c47804d7 (MD5)

Ein Großbuchstabe ändert den gesamten Hash. Das ist der Punkt.

Möchten Sie es selbst ausprobieren?Hash generieren

Hash vs. Verschlüsselung

Hashing ist einseitig. Du kannst einen Hash nicht umkehren, um die Originaldaten zu bekommen.

Verschlüsselung ist zweiseitig. Mit dem richtigen Schlüssel kannst du entschlüsseln und das Original wiederherstellen.

Wenn jemand sagt, er könne einen MD5-Hash „entschlüsseln", crackt er ihn entweder (probiert Eingaben aus, bis eine passt) oder er ist verwirrt darüber, wie Hashing funktioniert.

Die gängigen Algorithmen

MD5 - 128-Bit-Ausgabe. Schnell, aber kryptographisch gebrochen. OK für Prüfsummen, nicht für Sicherheit.

SHA-1 - 160-Bit. Auch für kryptographische Nutzung gebrochen. Legacy-Systeme verwenden es noch.

SHA-256 - 256-Bit. Aktueller Standard. Verwende das, wenn Sicherheit wichtig ist.

SHA-512 - 512-Bit. Etwas sicherer, manchmal schneller auf 64-Bit-Systemen.

BLAKE2/BLAKE3 - Moderne Alternativen. Schneller als SHA-256 mit ähnlicher Sicherheit.

Wann MD5 in Ordnung ist

MD5 bekommt einen schlechten Ruf, weil es „gebrochen" ist. Aber für Kryptographie gebrochen bedeutet nicht nutzlos.

Dateiintegritätsprüfungen. Verifizieren, dass ein Download nicht beschädigt wurde. Ein Angreifer müsste eine bösartige Datei mit demselben Hash erstellen, was mehr Aufwand erfordert, als die meisten Angriffe wert sind für Nicht-Sicherheitskontexte.

Cache-Schlüssel. Inhalte hashen, um eindeutige Identifikatoren zu generieren. Keine Sicherheitsimplikationen.

Deduplizierung. Doppelte Dateien durch Hash-Vergleich finden.

Wann du SHA-256 oder besser verwenden solltest

Passwortspeicherung. Eigentlich, verwende bcrypt oder Argon2 stattdessen. Sie sind für Passwörter designt.

Digitale Signaturen. Dokumentenintegrität, wo Angreifer Fälschungen versuchen könnten.

Alles sicherheitskritische. Wenn ein Angreifer Anreiz hat, Kollisionen zu finden.

Das Kollisionsproblem

Eine Kollision ist, wenn zwei verschiedene Eingaben denselben Hash produzieren. Geburtstags-Mathematik sagt, dass Kollisionen wahrscheinlicher werden, als du erwarten würdest.

Für MD5 haben Forscher Wege gefunden, absichtliche Kollisionen zu erzeugen. Zwei verschiedene Dateien, derselbe Hash. Deshalb ist es „gebrochen".

Für SHA-256 existieren keine praktischen Kollisionsangriffe. Noch nicht.

Praktische Beispiele

Downloads verifizieren:

sha256sum ubuntu.iso
# Ausgabe mit Hash auf Download-Seite vergleichen

API-Schlüssel speichern: Speichere den Hash, nicht den eigentlichen Schlüssel. Wenn Nutzer einen Schlüssel einreichen, hashe ihn und vergleiche.

Git-Commits: Git verwendet SHA-1, um Commits zu identifizieren. Deshalb sehen Commit-Hashes aus wie a1b2c3d4e5f6...

Erfinde nichts Eigenes

Erfinde niemals dein eigenes Hashing-Schema. „MD5 zweimal" oder „SHA-256 mit angehängtem Salt" sind schlechter als etablierte Muster zu verwenden.

Für Passwörter: bcrypt, scrypt oder Argon2. Für Integrität: SHA-256. Für Geschwindigkeit: BLAKE3.

Die Experten haben das bereits herausgefunden.


Hash-Funktionen sind konzeptionell einfach, aber nuanciert in der Anwendung. Wähle den richtigen Algorithmus für den Job und verwende kein kryptographisches Hashing, wo eine einfache Prüfsumme ausreichen würde.