Wie benutzt du dieses Tool?
- Modus wählen: Generieren, Verifizieren oder Vergleichen.
- Algorithmen anhaken — SHA-256 ist Standard, SHA-512 / BLAKE3 ergänzbar. SHA-1 und MD5 sind weiter verfügbar, tragen aber den Hinweis 'nicht mehr für Sicherheit empfohlen'.
- Datei(en) per Drag-and-Drop oder Datei-Auswahl ablegen. Ordner-Drop ist im Generate-Modus möglich.
- Im Verify-Modus den erwarteten Hash einfügen oder eine Sidecar-Datei droppen — der Algorithmus wird automatisch erkannt, bei 64 Zeichen via SHA-256 / BLAKE3-Toggle aufgelöst.
- Auf Hashen / Prüfen / Vergleichen klicken. Bei großen Dateien zeigt eine Fortschritts-Anzeige Bytes-pro-Sekunde; abbrechen ist jederzeit möglich.
Wie prüft das Tool die Datei-Integrität?
Eine kryptografische Hashfunktion bildet jede Eingabe — egal ob 12 Bytes oder 12 Gigabyte — auf einen kurzen, festen Hex-Wert ab. Ändert sich auch nur ein einzelnes Byte in der Eingabe, ändert sich der Hash mit hoher Wahrscheinlichkeit komplett. Das macht Hashes zur Standard-Methode für Datei-Integrität: ein Anbieter veröffentlicht den Hash einer Datei, du berechnest ihn lokal nach dem Download, und wenn beide Werte gleich sind, ist die Datei seit der Veröffentlichung unverändert.
Wir berechnen im Browser über eine inkrementelle WASM-beschleunigte Hashing-Schicht. Inkrementell heißt: die Datei wird nicht erst komplett in den RAM geladen, sondern in 64-KB-Chunks via File.stream() gelesen und Stück für Stück durch den Hasher gefüttert. Erst am Ende kommt ein einziger Hex-Wert raus. Genau diese Pipeline ist es, die Dateien über 2 GB zulässt — die Standard-Browser-API für Hashing schafft das nicht.
Was bedeuten SHA-256, SHA-512, MD5, SHA-1 und BLAKE3?
SHA-2 ist die Familie von kryptografischen Hash-Funktionen, die das US-amerikanische NIST im Standard FIPS 180-4 spezifiziert. SHA-256 produziert einen 256-bit-Digest (64 Hex-Zeichen) und ist heute der De-facto-Standard für Software-Releases, Linux-ISO-Downloads, Container-Images und Block-Chains. SHA-512 ist die längere Variante mit 512-bit-Digest (128 Hex-Zeichen) — denselben mathematischen Aufbau, größerer Output-Raum.
SHA-1 (160 Bit, 40 Hex-Zeichen) und MD5 (128 Bit, 32 Hex-Zeichen) sind ältere Algorithmen. MD5 ist 2004 als kryptografisch gebrochen erklärt worden, SHA-1 2017. Für reine Integrität-Checks (Git-Objects, Cache-Schlüssel, Datei-Versionierung) sind beide weiter okay, für Sicherheits-relevante Prüfungen — also überall, wo ein Angreifer eine alternative Datei mit demselben Hash erzeugen können müsste — nicht mehr.
BLAKE3 ist ein moderner Hash-Standard von 2020. Er produziert einen 256-bit-Digest wie SHA-256, ist aber deutlich schneller, kryptografisch sicher und parallelisierbar. Adoptiert wird er zunehmend in Build-Tools und Content-Addressable-Stores. Für Distributoren-Downloads ist er noch nicht De-facto-Standard, aber relevant — wir bieten ihn an, wer ihn braucht.
Wann ist welcher Algorithmus die richtige Wahl?
Wenn der Anbieter einen einzelnen Hash veröffentlicht und keine Algorithmus-Angabe dabei steht, geh von der Hex-Länge aus: 32 Zeichen sind MD5, 40 sind SHA-1, 64 sind SHA-256 (oder seltener BLAKE3 — bei einer Sidecar-Datei oder einer Distributoren-Notiz steht das meistens dabei), 128 sind SHA-512. Das Tool erkennt die Länge automatisch und schlägt den passenden Algorithmus vor; bei 64 Zeichen kommt ein SHA-256/BLAKE3-Toggle, weil beide auf 64 Zeichen abbilden.
Beim Generieren ist die Empfehlung pragmatisch: SHA-256 ist überall ausreichend für moderne Integrität-Prüfung. Wer Audit-Compliance fährt oder mit Behörden zu tun hat, ergänzt SHA-512. BLAKE3 lohnt sich, wenn die Empfänger-Seite auch BLAKE3 versteht (sonst ist der schnellere Hash-Wert nutzlos). MD5 und SHA-1 generieren wir nur, wenn die Empfänger-Seite es explizit verlangt — z. B. ältere CI-Pipelines oder Legacy-Manifest-Formate.
Mehrere Algorithmen gleichzeitig zu hashen kostet pro Algo nur ~5–15 % zusätzliche Zeit, weil die Datei-Bytes nur einmal vom Disk-/Speicher-Pfad durchlaufen müssen — sinnvoll, wenn man unsicher ist, welchen der Empfänger erwartet.
Worin unterscheiden sich Generieren, Verifizieren und Vergleichen?
Generieren ist der „ich brauche neue Hash-Werte”-Modus. Eine oder mehrere Dateien rein, alle gewählten Algorithmen werden parallel berechnet, das Ergebnis ist eine Tabelle mit pro-Datei-Zeilen. Sinnvoll für Distributoren-Manifest-Erstellung, Backup-Audit-Listen oder einfach um SHA-256 für eine eigene Datei zu bekommen. Der CSV-Export schreibt die Tabelle in ein Format, das Excel sofort öffnet.
Verifizieren ist der „passt diese Datei zu diesem erwarteten Hash?”-Modus. Eine Datei plus ein erwarteter Wert (eingefügt oder per Sidecar-Drop) — das Tool berechnet, vergleicht und zeigt einen Match-Banner oder einen Mismatch-Banner mit Diff-Highlight. Genau der Use-Case, der hinter dem Begriff „Datei-Hash-Prüfer” steht und der bei der Konkurrenz oft nur zweitrangig oder gar nicht abgedeckt wird.
Vergleichen ist der „sind diese beiden Dateien wirklich identisch?”-Modus. Zwei Dateien rein, beide werden parallel über alle gewählten Algorithmen gehasht, das Ergebnis ist ein Banner („Identische Dateien” oder „Dateien unterscheiden sich”) plus eine Tabelle pro Algorithmus. Hilfreich nach Backup-Restore, Download-Wiederholung, Festplatten-Migration oder Cloud-Sync-Vergleichen.
Warum funktionieren so große Dateien hier, anderswo aber nicht?
Die Standard-Browser-API für Hashing erwartet die komplette Datei als ein einziges Speicher-Objekt. Auf Firefox lehnt diese API Eingaben über 2 GB mit einem TypeError ab — sehr konkret in Open-Source-Issue-Trackern dokumentiert, wo Backup-Tools oder Datei-Synchronisierer mit großen Mediendateien crashen. Andere Browser haben dasselbe Problem in unterschiedlicher Ausprägung, weil das gemeinsame Limit eines Browser-Tabs irgendwann erreicht ist.
Wir umgehen das mit einem WebAssembly-basierten Hasher, der inkrementell arbeitet: init() startet einen frischen Zustand, update(chunk) füttert ihn mit dem nächsten Datei-Chunk, digest() schließt ab und liefert den Hex-Wert. Der Lese-Pfad nutzt File.stream().getReader(), was Standard-Browser-API ist und Datei-Bytes streamweise ohne RAM-Komplettladung liefert. So bleibt der Speicherverbrauch konstant unter 100 MB, egal ob die Datei 100 MB oder 100 GB groß ist.
Wofür eignet sich das Tool — und wofür nicht?
Geeignet: Software-Download-Verifikation gegen veröffentlichte Hashes, Backup-Restore-Validierung, Distributor-Manifest-Generierung, Cloud-Sync-Verification, Forensik-Helper für „ist diese Datei wirklich die, die ich vor zwei Wochen hatte?”, schnelle Audit-Listen für Foto- oder Video-Ordner.
Ungeeignet: Authentifizierung (das ist HMAC + Schlüssel, nicht Datei-Hash), Passwort-Speicherung (das ist Argon2/bcrypt/scrypt), Schutz gegen einen kompromittierten Anbieter (siehe Disclaimer-Abschnitt unten), Alleiniger Sicherheits-Beweis bei MD5 oder SHA-1 (für Sicherheits-Prüfungen sind sie nicht mehr empfohlen).
Wichtiger Hinweis zur Hash-Prüfung: Ein passender Hash bestätigt nur, dass die Datei seit der Veröffentlichung des Hashes unverändert ist — er beweist nicht, dass die Quelle vertrauenswürdig ist. Vergleiche den Hash deshalb mit einer unabhängigen Quelle (Release-Notes, signierter Mailing-List-Eintrag, offizieller Paket-Manager), nicht nur mit dem Wert, der direkt neben dem Download steht.
Welche Tools passen dazu?
Aus dem kittokit-Ökosystem zum Themenfeld Datei-Verifikation und Daten-Integrität:
- Hash-Generator — hashed Text statt Dateien. Sinnvoll für Passwort-Snippets, JWT-Secret-Tests oder API-Hashes.
- JWT-Decoder — JSON Web Tokens dekodieren, hilfreich bei der Verifikation von signierten Tokens (komplementär zu Datei-Hashes).
- UUID-Generator — eindeutige IDs erzeugen, nützlich beim Aufsetzen eigener Manifest-Dateien oder Test-Daten-Sets.
Zuletzt aktualisiert: