Hash-Vergleich
Hash-Vergleich
Vergleiche Hash-Werte und prüfe die Integrität von Dateien und Texten. Mit MD5, SHA-1, SHA-256, SHA-512 und SHA-3.
Hinweis: Alle Berechnungen erfolgen lokal in deinem Browser mit der Web Crypto API (SHA-1/256/384/512) und einer reinen JavaScript-Implementierung für MD5. Deine Daten werden niemals an einen Server gesendet.
Inhaltsverzeichnis
Schnellübersicht
- Hash-Vergleich: Zwei Hash-Werte direkt gegenüberstellen
- Hash-Berechnung: Aus Text oder Datei berechnen
- Integritätsprüfung: Ist die Datei unverändert?
- Batch-Vergleich: Mehrere Hashes prüfen
- Multi-Algorithmus: MD5, SHA-1, SHA-256, SHA-512, SHA-3
- Theorie: Über Hashes und ihre Sicherheit
- Geschichte: Von MD5 zu SHA-3
- FAQ: Häufige Fragen zu Hash-Vergleich
1. Hash-Vergleich
Vergleiche zwei Hash-Werte, berechne neue Hashes oder prüfe die Integrität einer Datei.
Vergleiche zwei Hash-Werte. Ideal für die Integritätsprüfung heruntergeladener Dateien.
| Algorithmus | Länge | Ausgabe (Hex) | Sicherheit | Empfehlung |
|---|---|---|---|---|
| MD5 | 128 Bit | 32 Zeichen | Unsicher (Kollisionen) | Nur für Checksummen |
| SHA-1 | 160 Bit | 40 Zeichen | Unsicher (Kollisionen 2017) | Nicht mehr verwenden |
| SHA-256 | 256 Bit | 64 Zeichen | Sicher | Empfohlen (Standard) |
| SHA-512 | 512 Bit | 128 Zeichen | Sicher | Empfohlen (hohe Sicherheit) |
| SHA-3 (Keccak) | 224/256/384/512 Bit | verschieden | Sicher | Alternative zu SHA-2 |
2. Theorie – Hashes und Integrität
Verstehe die Grundlagen von Hashes und ihre Anwendungen.
Was ist ein Hash?
Ein Hash ist eine Einwegfunktion, die Daten auf eine feste Länge abbildet:
- Eingabe: Beliebig lang (Text, Datei)
- Ausgabe: Feste Länge (z.B. 256 Bit)
- Deterministisch: Gleiche Eingabe → gleicher Hash
- Einweg: Keine Rückrechnung möglich
- Kollisionsresistent: Schwer, gleiche Hashes zu finden
Wofür Hashes?
Hashes haben viele Anwendungen:
- Integrität: Ist die Datei unverändert?
- Passwörter: Speichern als Hash (bcrypt, Argon2)
- Digitale Signaturen: Hash wird signiert
- Blockchain: Verkettete Hashes
- Deduplizierung: Doppelte Dateien finden
- Download-Verifikation: ISO/Software prüfen
Hash-Vergleich
So prüfst du die Integrität einer Datei:
- 1. Original-Hash: Vom Anbieter erhalten
- 2. Selbst berechnen: Nach Download
- 3. Vergleichen: Byte-für-Byte
- 4. Gleich = OK: Datei ist unverändert
- Ungleich = Warnung: Datei beschädigt/verändert
Wichtig: Immer den kompletten Hash vergleichen – schon ein Zeichen Unterschied ist ein Problem!
Best Practices
- SHA-256 verwenden: MD5 und SHA-1 sind unsicher
- Vollständig vergleichen: Nicht nur Anfang/Ende
- Konstantzeit-Vergleich: Bei sicherheitskritischen Apps
- HTTPS für Download: Hash zusätzlich prüfen
- Hashes signieren: GPG für höchste Sicherheit
- Keine Hashes für Passwörter: bcrypt/Argon2 nutzen
Wussten Sie schon?
MD5 und SHA-1 sind heute unsicher – aber nicht, weil sie "geknackt" wurden, sondern weil Kollisionen gefunden wurden. 2017 zeigten Google-Forscher eine SHA-1-Kollision (SHAttered) mit zwei verschiedenen PDF-Dateien, die denselben SHA-1-Hash hatten. Bei MD5 geht das schon seit 2004. Deshalb: SHA-256 oder besser verwenden! Allerdings reicht MD5 für einfache Integritätsprüfungen (nicht für Sicherheit) oft noch aus.
3. Geschichte der Hash-Funktionen
Von MD5 zu SHA-3 und Quanten-sicheren Verfahren.
Merkle-Damgård-Konstruktion
Ralph Merkle und Ivan Damgård entwickeln eine Konstruktion, um Hash-Funktionen für beliebig lange Nachrichten zu bauen. Grundlage aller modernen Hashes.
MD5 von Ron Rivest
Ron Rivest veröffentlicht MD5 als Nachfolger von MD4. 128-Bit-Hash, lange Standard für Checksummen. Wird später als unsicher eingestuft.
SHA-0 und SHA-1
Die NSA entwickelt SHA-0 (1993) und kurz darauf SHA-1 (1995). Standard für viele Sicherheitsanwendungen. Wird 2017 durch SHAttered gebrochen.
SHA-2 Familie
SHA-256, SHA-384 und SHA-512 werden veröffentlicht. Bis heute Standard für digitale Signaturen, TLS und Bitcoin. Gilt als sicher.
MD5-Kollisionen
Wang et al. zeigen erste MD5-Kollisionen. MD5 wird als unsicher eingestuft. Sicherheitsanwendungen stellen auf SHA-1 um – zunächst.
SHA-3 Wettbewerb
Nach Sicherheitsbedenken bei SHA-1 startet die NIST einen Wettbewerb. Keccak gewinnt und wird SHA-3. Neue Algorithmus-Familie mit anderem Design.
SHAttered SHA-1 Kollision
Google und CWI Amsterdam zeigen eine SHA-1-Kollision. Zwei verschiedene PDFs mit gleichem SHA-1-Hash. SHA-1 wird offiziell als unsicher eingestuft.
Post-Quanten-Hashes
Forscher arbeiten an Quanten-sicheren Hash-Funktionen. SHA-3 gilt als quantenresistent (Grover-Algorithmus schwächt Hashes nur quadratisch). NIST standardisiert 2024 neue Verfahren.
4. FAQ – Häufige Fragen
Häufige Fragen zu Hash-Vergleich
Hash-Vergleich ist der Vergleich zweier Hash-Werte, um festzustellen, ob sie identisch sind:
- Zweck: Integrität von Daten prüfen
- Referenz: Original-Hash vom Anbieter
- Prüfsumme: Selbst berechneter Hash
- Ergebnis: Gleich oder unterschiedlich
Anwendungsbeispiele:
- Linux-ISO nach Download prüfen
- Software-Update verifizieren
- Backup-Integrität prüfen
- Datei-Übertragung prüfen
Wichtig: Schon ein einziges abweichendes Zeichen bedeutet einen anderen Hash. Vollständiger Vergleich nötig!
Kollisionen: Unterschiedliche Eingaben mit gleichem Hash.
MD5:
- 2004: Erste Kollisionen (Wang et al.)
- 2008: Rogue CA Certificate
- Heute: Kollision in Sekunden möglich
SHA-1:
- 2005: Theoretische Angriffe (Xiaoyun Wang)
- 2017: SHAttered-Kollision (Google, CWI)
- Heute: Kollision für ~110.000 USD
Auswirkungen:
- Digitale Signaturen: Fälschbar
- Zertifikate: Rogue-CA möglich
- Passwörter: Brute-Force (mit Rainbow-Tables)
Empfehlung: SHA-256 oder besser verwenden!
Schritt-für-Schritt:
- 1. Referenz-Hash: Vom Anbieter erhalten
- 2. Hash berechnen: Mit Tool oder Kommando
- 3. Vergleichen: Zeichen-für-Zeichen
- 4. Vertrauen: Bei Übereinstimmung → Datei OK
Kommandozeilen-Befehle:
- Linux/macOS:
sha256sum datei.iso - macOS:
shasum -a 256 datei.iso - Windows PowerShell:
Get-FileHash datei.iso -Algorithm SHA256 - Windows cmd:
certutil -hashfile datei.iso SHA256
Unser Tool: Datei im "Datei-Hash"-Modus auswählen – der Hash wird sofort berechnet!
Salt ist eine zufällige Zeichenkette, die vor dem Hashen an das Passwort angehängt wird:
- Zufällig: Für jede Speicherung anders
- Einzigartig: Pro Nutzer/Passwort
- Nicht geheim: Wird mit dem Hash gespeichert
- Verhindert: Rainbow-Table-Angriffe
Beispiel:
- Ohne Salt: Hash("password") immer gleich
- Mit Salt: Hash("password" + "x8f3a") ≠ Hash("password" + "b2c1d")
Noch besser:
- bcrypt: Langsam, mit Salt integriert
- Argon2: Gewinner des PHC 2015
- PBKDF2: NIST-Standard
- scrypt: Memory-hard
Faustregel: Für Passwörter niemals SHA-256 direkt – immer bcrypt/Argon2!
Eine Kollision tritt auf, wenn zwei verschiedene Eingaben denselben Hash erzeugen:
- Unvermeidbar: Theoretisch (Pigeonhole-Prinzip)
- Hash = kürzer als Eingabe: Mehr Eingaben als Hashes
- Problem: Wenn absichtlich herbeigeführt
- Bsp. MD5: Kollisionen in Sekunden
Arten:
- Kollision: Gleicher Hash für 2 Nachrichten
- Preimage: Nachricht zu Hash finden (Einweg)
- 2nd Preimage: Andere Nachricht mit gleichem Hash
Warum kritisch?
- Digitale Signaturen fälschbar
- Zertifikate manipulierbar
- Software-Updates kompromittierbar
Der Hash ändert sich bei jeder Änderung – auch bei unsichtbaren Zeichen:
Häufige Ursachen:
- Leerzeichen: Am Anfang/Ende
- Zeilenumbrüche: \n vs \r\n (Windows/Linux)
- Groß/Klein: "Hallo" ≠ "hallo"
- Unicode: NFC vs NFD Normalisierung
- BOM: Byte Order Mark am Anfang
- Encoding: UTF-8 vs UTF-16
Tipp: Bei Dateien mit sha256sum -c checksum.txt prüfen – das Tool zeigt genau, ob es unterschiedlich ist.
Unser Tool: Der Whitespace-Test im Preset zeigt genau diesen Fall!
Nein – Hash-Funktionen sind Einwegfunktionen:
- Mathematisch: Nicht umkehrbar
- Informationsverlust: Beliebige Eingabe → feste Ausgabe
- Kein Schlüssel: Anders als Verschlüsselung
Was Angreifer tun können:
- Brute-Force: Alle Passwörter durchprobieren
- Rainbow-Tables: Vorgefertigte Hash-Listen
- Wörterbuch-Angriff: Häufige Passwörter testen
- GPU/ASIC: Milliarden Hashes/Sekunde
Beispiel:
- MD5("password") =
5f4dcc3b5aa765d61d8327deb882cf99 - Ist in Sekunden gefunden (Rainbow-Table)
- Deshalb: Salt + langsame Hash-Funktion!
Es gibt nicht "den besten" Hash – es kommt auf den Anwendungsfall an:
| Anwendung | Empfehlung |
|---|---|
| Datei-Integrität | SHA-256 oder SHA-512 |
| Digitale Signaturen | SHA-256/384/512 |
| Passwörter | bcrypt, Argon2, scrypt |
| Blockchain | SHA-256 (Bitcoin), Keccak-256 (Ethereum) |
| HMAC | SHA-256/512 |
| Zukunftssicher | SHA-3-256 oder SHA-3-512 |
| Checksummen | SHA-256 (nicht MD5!) |
Faustregel:
- Standard: SHA-256
- Zukunftssicher: SHA-3-256
- Passwörter: bcrypt/Argon2
- MD5/SHA-1: Nur für nicht-sicherheitskritische Zwecke
Zusammenfassung
Die wichtigsten Punkte
- Hash: Einwegfunktion, feste Länge, deterministisch
- Integrität: Hash-Vergleich prüft unveränderte Daten
- MD5 (32 Zeichen): Unsicher, nur für Checksummen
- SHA-1 (40 Zeichen): Unsicher seit 2017
- SHA-256 (64 Zeichen): Standard, sicher
- SHA-512 (128 Zeichen): Sehr sicher
- SHA-3: Alternative, quantenresistent
- Passwörter: bcrypt/Argon2, niemals SHA direkt
- Vergleich: Konstantzeit für Sicherheit
- Unser Tool: Hash-Vergleich mit Text/Datei/Batch
Weitere Sicherheits-Tools
Erzeuge Hashes aus Text mit MD5, SHA-1, SHA-256, SHA-512.
Zum ToolPrüfe Datei-Integrität mit berechneten Checksummen.
Zum ToolPrüfe die Stärke von Passwörtern.
Zum ToolSimuliere DDoS-Angriffe und teste Schutzmaßnahmen.
Zum Tool