Wie Sie die Dateiintegrität mit Hashes prüfen

· 9 Min. Lesezeit

Wenn Sie Software, Firmware oder wichtige Dokumente herunterladen, woher wissen Sie, dass die Datei genau das ist, was der Herausgeber beabsichtigt hat? Datei-Hashing gibt Ihnen einen kryptografischen Fingerabdruck, eine eindeutige Zeichenkette, die sich ändert, sobald sich auch nur ein einziges Byte der Datei unterscheidet. Einen Hash zu verifizieren dauert Sekunden und kann Sie davor bewahren, manipulierte Software zu installieren, eine kaputte Firmware aufzuspielen, die ein Gerät bricked, oder einem beschädigten Backup zu vertrauen, das ausfällt, wenn Sie tatsächlich wiederherstellen müssen.

Eine kurze Geschichte der Hashfunktionen

Die Idee einer Prüfsumme ist älter als das Rechnen selbst, Buchhalter benutzten Ziffernsummen, um Übertragungsfehler zu erkennen, lange bevor es Dateien zu verifizieren gab. Kryptografische Hashes erschienen Ende der 1980er. Ron Rivest veröffentlichte 1990 MD4 und 1991 MD5, das für zwei Jahrzehnte zur De-facto-Prüfsumme wurde. NIST standardisierte 1993 SHA-0, zog es dann 1995 nach Entdeckung eines Fehlers schnell zugunsten von SHA-1 zurück. Die SHA-2-Familie (SHA-224, SHA-256, SHA-384, SHA-512) folgte 2001, um der drohenden Schwäche von SHA-1 zu begegnen.

Jede Generation wurde durch Angriffe abgelöst, die sich als billiger erwiesen als erwartet. MD5-Kollisionen wurden 2004 demonstriert, 2008 für digitale Zertifikate praktisch nutzbar gemacht und sind heute trivial. SHA-1 fiel 2017 mit Googles SHAttered-Angriff, als Forscher zwei verschiedene PDFs mit identischen SHA-1-Digests erzeugten. SHA-2 hält seit 2001, und SHA-3 (Keccak, standardisiert 2015) liefert eine strukturell andere Rückfalloption, falls SHA-2 jemals brechen sollte. Die Lehre ist, dass Hash-Algorithmen eine Haltbarkeit haben; der heute richtige Algorithmus muss vielleicht innerhalb einer Dekade ersetzt werden.

Wie Datei-Hashing funktioniert

Eine Hashfunktion liest jedes Byte einer Datei und erzeugt eine Zeichenkette fester Länge. Dieselbe Datei erzeugt immer denselben Hash. Ändern Sie ein Byte, und der Hash ändert sich komplett, das nennt sich Avalanche-Effekt und ist die Eigenschaft, die Hashes für die Verifikation nützlich macht.

Beispiel:

Die beiden Hashes haben kein erkennbares Muster gemeinsam, obwohl sich die Dateien um ein einziges Bit unterscheiden. Diese Empfindlichkeit ist es, die Verifikation überhaupt möglich macht: Hash erzeugen, mit dem veröffentlichten Hash vergleichen, und Sie wissen sofort, ob die Datei authentisch ist.

Intern teilen moderne Hashfunktionen die Datei in Blöcke fester Größe (64 Bytes für SHA-256, 128 für SHA-512), führen jeden Block durch eine Kompressionsfunktion und kettet den Zustand vorwärts. Die Ausgabe ist der Endzustand, nachdem der letzte Block eingemischt wurde. Weil die Kette von jedem Byte abhängt, lässt keine Abkürzung einen Angreifer Inhalt ändern, ohne den gesamten Hash neu zu schreiben.

So verifizieren Sie eine Datei

  1. Finden Sie den offiziellen Hash, der Software-Herausgeber listet Datei-Hashes typischerweise auf seiner Download-Seite, oft als «SHA-256-Prüfsumme» oder «SHA256SUMS-Datei» bezeichnet.
  2. Laden Sie Ihre heruntergeladene Datei hoch: Wählen Sie die Datei im Hash-Rechner aus. Der Hash wird lokal in Ihrem Browser berechnet; die Datei verlässt Ihre Maschine nie.
  3. Vergleichen Sie die Hashes: Wenn Ihr berechneter Hash exakt mit dem offiziellen Hash übereinstimmt, ist die Datei authentisch und unbeschädigt. Wenn die Strings lang sind, kopieren Sie beide in ein Text-Diff.
  4. Algorithmus anpassen: SHA-256-Hashes passen nur zu anderen SHA-256-Hashes. Wenn der Herausgeber Ihnen SHA-512 gibt, generieren Sie auch SHA-512; Algorithmen zu mischen ist der häufigste «sie stimmen nicht überein»-Fehler.
  5. Verifizieren Sie nach Möglichkeit den veröffentlichten Hash selbst: Eine signierte SHA256SUMS-Datei (mit dem GPG-Schlüssel des Herausgebers signiert) sagt Ihnen, dass die Hash-Liste nicht manipuliert wurde, was der nackte Hash auf einer Download-Seite nicht tut.

Wann Datei-Hashes verifizieren

Unterstützte Algorithmen

AlgorithmusHash-LängeAusgabebitsEmpfehlung
MD532 Hex128Nur Legacy, gebrochen, nur für versehentliche Korruption
SHA-140 Hex160Nur Legacy, gebrochen, nicht für Sicherheit vertrauen
SHA-22456 Hex224Nischig; bevorzugen Sie SHA-256
SHA-25664 Hex256Empfohlener Allzweck-Standard
SHA-38496 Hex384Hohe Sicherheit, in TLS-1.3-Cipher-Suites verwendet
SHA-512128 Hex512Maximale SHA-2-Stärke, schnell auf 64-Bit-CPUs
SHA3-25664 Hex256Anderes internes Design als SHA-2, zukunftssicher
BLAKE2b/BLAKE3variabel256 oder 512Schnellste moderne Hashes, von rsync, restic genutzt
CRC328 Hex32Nur Fehlererkennung, kein Sicherheits-Hash

Wenn Sie die Wahl haben, ist SHA-256 der richtige Standard. Verwenden Sie SHA-512 auf 64-Bit-Maschinen für leicht bessere Leistung (der Algorithmus ist auf 64-Bit-Wörter abgestimmt). Greifen Sie zu BLAKE3, wenn der Durchsatz am wichtigsten ist, es kann moderne NVMe-SSDs sättigen, was SHA-256 nicht kann.

Hash vs digitale Signatur

Ein Hash sagt Ihnen, ob eine Datei geändert wurde. Eine digitale Signatur sagt Ihnen, ob sie geändert wurde UND wer den Hash erstellt hat. Eine Signatur ist ein Hash, der mit dem privaten Schlüssel des Herausgebers verschlüsselt wurde; Sie entschlüsseln ihn mit seinem öffentlichen Schlüssel, berechnen den Hash neu und prüfen, dass beide übereinstimmen. Wenn ja, wissen Sie, dass die Datei unverändert ist UND dass der Herausgeber (oder jemand mit seinem privaten Schlüssel) sie freigegeben hat.

Wenn eine Download-Seite sowohl einen SHA-256-Hash als auch eine .sig- oder .asc-Datei zeigt, schützt der Hash vor Korruption und versehentlicher Manipulation, aber die Signatur ist es, was vor einem Angreifer schützt, der den Download-Server kompromittiert hat. Der Angreifer kann die Datei austauschen und den angezeigten Hash aktualisieren; er kann keine gültige Signatur ohne den Schlüssel des Herausgebers fälschen.

Häufige Fallstricke

Alternative Werkzeuge und Kontexte

Ein Web-Hash-Rechner ist der schnellste Weg, wenn Sie eine Datei prüfen wollen. Für wiederholten Gebrauch oder Skripting sind Kommandozeilen-Werkzeuge der Standard.

WerkzeugPlattformStärkeAchten Sie auf
Web-Hash-RechnerBrowserKeine Installation, Datei wird nie hochgeladenEine Datei auf einmal
sha256sumLinuxSchnell, skriptbar, GNU coreutils--check liest SHA256SUMS-Dateien
shasum -a 256macOS, BSDMitgeliefert, gleiches AusgabeformatAnderer Binärname als unter Linux
Get-FileHashWindows PowerShellErstklassig unter WindowsAusgabeformat unterscheidet sich von sha256sum
certutil -hashfileWindows cmdAuf jedem Windows verfügbarWortreiche Ausgabe braucht Parsing
openssl dgst -sha256PlattformübergreifendWenn Sie OpenSSL ohnehin habenLangsamer als spezialisierte Werkzeuge
b3sumPlattformübergreifendBLAKE3, mehrere GB/s DurchsatzNeuer, weniger allgegenwärtig
rhashPlattformübergreifendBerechnet viele Algorithmen auf einmalZusätzliche Installation

In CI/CD-Pipelines läuft die gleiche Aufgabe meist als sha256sum file > file.sha256 beim Build und sha256sum -c file.sha256 beim Verify, manchmal in ein signiertes Manifest verpackt. Das Prinzip (berechnen, veröffentlichen, beim Abruf vergleichen) ist identisch zu dem, was das Browser-Werkzeug interaktiv tut.

Datenschutz und der Hash-Rechner

Der Hash-Rechner läuft vollständig in Ihrem Browser. Die Datei, die Sie auswählen, wird mit der FileReader-API gelesen, durch die SubtleCrypto-Schnittstelle von Web Crypto geführt, und der resultierende Hash wird Ihnen gezeigt. Die Bytes der Datei reisen nie zu unseren Servern, es gibt keinen Upload, kein Protokoll, welche Dateien gehasht wurden, und keine Analytik zu Dateigrößen oder -erweiterungen. Für sensibles Material, Verträge, medizinische Akten, private Schlüssel, ist der Unterschied zwischen einem Werkzeug, das hochlädt, und einem, das lokal hasht, der Unterschied zwischen einem Dritten zu vertrauen und niemandem. Ein Hash ist eine winzige Ausgabe (64 Hex-Zeichen für SHA-256), aber die Eingabe, die er zusammenfasst, kann sehr aufschlussreich sein. Diese Eingabe clientseitig zu halten, ist der richtige Standard für jede Verifikationsaufgabe.

Häufig gestellte Fragen

Wie vergleiche ich einen Datei-Hash mit dem offiziellen?

Nach dem Erzeugen des Hashes vergleichen Sie ihn Zeichen für Zeichen mit dem von der Quelle veröffentlichten Hash (in der Regel auf der Download-Seite). Stimmt jedes Zeichen überein, ist die Datei authentisch und unbeschädigt. Schon ein Zeichen Unterschied bedeutet, dass die Datei verändert wurde.

Welchen Hash-Algorithmus soll ich verwenden?

SHA-256 ist der Standard für Dateiprüfung. Verwenden Sie den Algorithmus, den der Anbieter angibt. Wenn Sie wählen können, bietet SHA-256 ein gutes Gleichgewicht aus Sicherheit und Performance.

Kann eine beschädigte Datei den korrekten Hash haben?

Theoretisch möglich (eine Kollision), aber statistisch mit SHA-256 vernachlässigbar. Die Wahrscheinlichkeit ist so verschwindend gering, dass übereinstimmende Hashes für alle praktischen Zwecke identische Dateien garantieren.

Wird meine Datei auf einen Server hochgeladen?

Nein. Der Hash wird vollständig in Ihrem Browser berechnet. Ihre Datei verlässt Ihr Gerät nie und ist damit auch für sensible Dokumente sicher.

What is the difference between a hash and a digital signature?

A hash proves a file has not changed since the hash was computed; anyone can verify it. A digital signature proves both integrity AND identity, the publisher signs the hash with their private key, and you verify with their public key. Hashes alone do not protect against a hacker who replaced both the file and the published hash on the same compromised mirror.

Why are MD5 and SHA-1 considered insecure?

Researchers have demonstrated practical collision attacks for both. In 2017 Google produced two different PDFs with identical SHA-1 hashes (the SHAttered attack), and MD5 collisions can be generated in seconds on a laptop. For deliberate-tamper detection use SHA-256 or stronger; MD5 and SHA-1 still work for catching accidental corruption but should never be trusted as security boundaries.