Ein Hash ist ein fester, eindeutiger Wert, der aus beliebigen Eingangsdaten berechnet wird. Hashes werden in der IT genutzt, um Datenintegrität zu prüfen, Passwörter sicher zu speichern oder digitale Fingerabdrücke von Dateien zu erzeugen.
Eigenschaften von Hashfunktionen
- Gleiche Eingaben liefern immer denselben Hash
- Kleine Änderungen am Input erzeugen stark veränderte Hashes
- Ein Hash ist nicht umkehrbar – der ursprüngliche Wert lässt sich nicht zurückrechnen
- Gute Hashfunktionen vermeiden Kollisionen (zwei Inputs → gleicher Hash)
Verwendungszwecke
- Datenprüfung: Hashes zeigen, ob Dateien verändert wurden
- Passwortspeicherung: Statt Klartext wird nur der Hash des Passworts gespeichert
- Digitale Signaturen: Hashes werden bei der Signierung von Nachrichten verwendet
- Blockchain-Technologie: Hashes sichern Transaktionen und Blöcke
Bekannte Hash-Algorithmen
- MD5: Veraltet, aber noch verbreitet (unsicher)
- SHA-1: Ebenfalls veraltet (unsicher)
- SHA-256 / SHA-3: Aktuelle, sichere Varianten
- bcrypt, scrypt, Argon2: Speziell für Passwörter entwickelt
Sicherheitsaspekte
- Veraltete Algorithmen sind anfällig für Kollisionen oder Rainbow-Tabellen
- Starke Hashfunktionen und zusätzliches Salting verbessern die Sicherheit deutlich