Security 6 Jul 2026 7 Min. Lesezeit

Was ist eine Prüfsumme? MD5, SHA-1 und SHA-256 erklärt

Eine Prüfsumme ist ein kurzer Fingerabdruck, mit dem Sie überprüfen können, ob eine Datei verändert oder beschädigt wurde. Zu verstehen, welcher Hash-Algorithmus wann zu verwenden ist – und wo MD5 an seine Grenzen stößt – schützt Sie vor häufigen Sicherheitsfehlern.

Checksum guide: MD5, SHA-1, SHA-256 hash functions explained

Was ist eine Prüfsumme?

Eine Prüfsumme (Checksum) ist eine Zeichenfolge mit fester Länge, die aus einem Datensatz generiert wird, indem dieser durch eine Hash-Funktion gejagt wird. Die Prüfsumme fungiert als Fingerabdruck: Wenn sich auch nur ein einziges Bit der Originaldaten ändert, ändert sich die Prüfsumme vollständig. Dies macht Prüfsummen für zwei Dinge nützlich:

  • Integritätsprüfung — kam diese Datei ohne Beschädigung oder Manipulation an?
  • Identität — ist diese exakte Datei (oder dieser Datensatz) dieselbe wie eine andere Kopie?

Wenn Sie Software von einer offiziellen Website herunterladen, zeigt die Download-Seite oft einen MD5- oder SHA-256-Hash an. Nach dem Herunterladen berechnen Sie den Hash Ihrer lokalen Datei und vergleichen ihn. Wenn sie übereinstimmen, ist die Datei intakt.

Wie eine Hash-Funktion funktioniert

Eine kryptografische Hash-Funktion nimmt Eingabedaten beliebiger Länge entgegen und gibt einen Digest mit fester Länge aus. Vier Eigenschaften definieren eine gute Hash-Funktion:

  • Deterministisch — der gleiche Input erzeugt immer den gleichen Output
  • Einwegfunktion — man kann einen Hash nicht auf den ursprünglichen Input zurückführen (in einer vernünftigen Zeit)
  • Avalanche-Effekt> — die Änderung eines einzelnen Zeichens im Input ändert etwa die Hälfte der Output-Bits
  • Kollisionsresistent> — es sollte rechnerisch unmöglich sein, zwei verschiedene Eingaben zu finden, die denselben Hash erzeugen
Beispiel — SHA-256 Avalanche-Effekt:
SHA-256("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256("Hello") = 185f8db32921bd46d35e3a1a4e9a9b9c6a7e6a7d2d2c4e9d... (völlig unterschiedlich)

MD5 — Schnell, bekannt und unsicher für die Sicherheit

MD5 (Message Digest Algorithm 5) erzeugt einen 128-Bit (32 Zeichen Hex) Digest. Er wurde 1991 entwickelt und wurde etwa zwei Jahrzehnte lang zum Standard-Prüfsummenalgorithmus im Internet.

Wo MD5 noch akzeptabel ist:

  • Nicht-sicherheitsrelevante Integritätsprüfungen — Verifizierung, dass ein großer Dateitransfer während der Übertragung nicht beschädigt wurde
  • Deduplizierung — Prüfen, ob zwei Dateien identisch sind (als schnelle Vorprüfung vor einem Byte-für-Byte-Vergleich)
  • Cache-Keys und ETags, bei denen Kollisionsangriffe keine Rolle spielen

Wo MD5 nicht akzeptabel ist:

  • Passwortspeicherung — MD5 ist extrem schnell, was Brute-Force-Angriffe mittels GPU trivial macht. Milliarden von MD5-Hashes pro Sekunde sind mit Consumer-Hardware möglich.
  • Digitale Signaturen — MD5-Kollisionsangriffe wurden in der Praxis demonstriert. Zwei verschiedene Dateien können so erstellt werden, dass sie denselben MD5-Hash haben.
  • Zertifikats-Fingerabdrücke — das gleiche Kollisionsproblem gilt hier ebenfalls.
MD5 für Passwörter ist eine kritische Sicherheitslücke. Wenn Sie in altem Code md5($password) finden, ersetzen Sie dies durch password_hash() in PHP oder bcrypt/Argon2 in jeder anderen Sprache. MD5 ist kein Passwort-Hashing-Algorithmus — es wurde nie darauf ausgelegt, langsam zu sein, und gerade diese Langsamkeit macht das Hashen von Passwörtern sicher.

SHA-1 — Veraltet

SHA-1 erzeugt einen 160-Bit (40 Zeichen Hex) Digest. Er ersetzte MD5 als empfohlener Algorithmus Ende der 1990er Jahre und wurde in SSL/TLS-Zertifikaten, Versionskontrollsystemen und zur Prüfung der Dateiintegrität weit verbreitet.

Im Jahr 2017 demonstrierte das Project Zero Team von Google die erste praktische SHA-1-Kollision (den "SHAttered"-Angriff), für die etwa 6.500 CPU-Jahre an Rechenleistung erforderlich waren. Große Browser und Zertifizierungsstellen hörten 2017 auf, SHA-1-Zertifikate zu akzeptieren. Git verwendet intern noch SHA-1 für Commit-Hashes, befindet sich aber im Prozess der Migration zu SHA-256 als optionaler Alternative.

Verwenden Sie für neue Anwendungen kein SHA-1. Verwenden Sie stattdessen SHA-256 oder SHA-512.

SHA-256 — Der aktuelle Standard

SHA-256 ist Teil der SHA-2-Familie, die von der NSA entwickelt und 2001 veröffentlicht wurde. Er erzeugt einen 256-Bit (64 Zeichen Hex) Digest. Bis heute gibt es keinen praktischen Kollisionsangriff gegen SHA-256.

Verwenden Sie SHA-256 für:

  • Überprüfung der Dateiintegrität (Software-Downloads, Backups)
  • Digitale Signaturen (TLS-Zertifikate, Code-Signing)
  • HMAC-basierte Authentifizierungs-Tokens (HMAC-SHA256)
  • Blockchain und Kryptowährungen (Bitcoin verwendet doppeltes SHA-256)
  • Git-Commit-Hashes im SHA-256-Modus
  • JWT (JSON Web Token) Signaturen bei Verwendung von HS256 oder RS256

SHA-256 ist der richtige Standard für fast jede Anwendung, die einen sicheren Hash benötigt. Im Zweifel verwenden Sie SHA-256.

SHA-512 — Wenn Sie mehr benötigen

SHA-512 erzeugt einen 512-Bit (128 Zeichen Hex) Digest. Er gehört zur selben SHA-2-Familie und ist gleichermaßen sicher. Der Hauptunterschied in der Praxis:

  • Auf 64-Bit-Prozessoren kann SHA-512 tatsächlich schneller sein als SHA-256, da der Algorithmus für 64-Bit-Wortgrößen optimiert ist
  • Auf 32-Bit-Systemen und Hardware ist SHA-256 schneller
  • SHA-512 hat einen größeren Output, was eine längere Speicherung und Übertragung bedeutet

Verwenden Sie SHA-512, wenn die Anwendung einen größeren Digest erfordert oder wenn Sie auf Hardware arbeiten, auf der SHA-512 einen Performance-Vorteil bietet. Für die meisten Webanwendungen ist SHA-256 ausreichend.

Ein Hinweis zum Passwort-Hashing

Keiner der oben genannten Algorithmen sollte direkt für die Passwortspeicherung verwendet werden. MD5, SHA-1, SHA-256 und SHA-512 sind alle darauf ausgelegt, schnell zu sein — und genau das ist bei Passwörtern falsch.

Das Hashen von Passwörtern muss absichtlich langsam sein, damit eine gestohlene Datenbank nicht schnell geknackt werden kann. Verwenden Sie dafür eigens entwickelte Passwort-Hashing-Algorithmen:

  • bcrypt — ist seit über 20 Jahren der Standard und wird in praktisch jeder Sprache unterstützt
  • Argon2 (speziell Argon2id) — Sieger des Password Hashing Competition (2015), empfohlen für neue Anwendungen
  • scrypt — Memory-hard, ebenfalls eine starke Wahl

In PHP: password_hash($password, PASSWORD_ARGON2ID). In Node.js: Verwenden Sie das bcryptjs oder argon2 Paket. Diese verwalten die Salt-Generierung und die Anpassung des Work Factors automatisch.

Wie man eine Datei-Prüfsumme überprüft

Wenn Sie Software herunterladen und die Website einen SHA-256-Hash bereitstellt:

Auf macOS / Linux:
shasum -a 256 downloaded-file.zip
# Ergebnis mit dem offiziellen Hash vergleichen
Auf Windows (PowerShell):
Get-FileHash downloaded-file.zip -Algorithm SHA256

Alternativ nutzen Sie unseren Hash Generator, um Dateiinhalte oder Texte einzufügen und MD5-, SHA-1-, SHA-256- oder SHA-512-Hashes direkt in Ihrem Browser zu berechnen — nichts wird an einen Server gesendet.

MD5, SHA-256 und mehr generieren

Berechnen Sie jeden beliebigen Hash (MD5, SHA-1, SHA-256, SHA-512) aus Text oder Dateiinhalt direkt in Ihrem Browser – ohne Upload, ohne Server.