Ein Hash ist das Ergebnis einer Hashfunktion – also eines mathematischen Verfahrens, das beliebige Eingabedaten (Text, Dateien, Passwörter usw.) in einen kurzen, eindeutigen Fingerabdruck umwandelt. Dieser Fingerabdruck hat eine feste Länge und sieht meist wie eine zufällige Zeichenfolge aus.
Hashes sind ein Grundbaustein der IT‑Sicherheit.
Eigenschaften eines Hashes
Ein guter kryptografischer Hash hat folgende Merkmale:
- Deterministisch: Gleiche Eingabe → gleicher Hash
- Feste Länge: Egal wie groß die Eingabe ist
- Schnell berechenbar
- Einwegfunktion: Nicht umkehrbar (man kann den Originaltext nicht aus dem Hash zurückrechnen)
- Kollisionsresistent: Zwei verschiedene Eingaben sollten nicht denselben Hash erzeugen
Wofür Hashes verwendet werden
Passwortspeicherung
Passwörter werden nicht im Klartext, sondern als Hash gespeichert.
Beim Login wird das eingegebene Passwort gehasht und verglichen.
Integritätsprüfung
Man kann prüfen, ob eine Datei verändert wurde, indem man ihren Hash vergleicht.
Digitale Signaturen
Hashes sind Teil kryptografischer Verfahren, die Authentizität sicherstellen.
Blockchain
Jeder Block enthält Hashes, die die Kette unveränderbar machen.
Beispiele für Hashfunktionen
- MD5 | 128 Bit | unsicher
- SHA‑1 | 160 Bit | unsicher
- SHA‑256 | 256 Bit | sicher und weit verbreitet
- SHA‑3 | variabel | modern und sicher
- bcrypt / scrypt / Argon2 | variabel | speziell für Passwörter
Hash + Salt
Passwörter werden oft mit einem Salt versehen – einem zufälligen Zusatzwert, der vor dem Hashen angehängt wird.
Das verhindert:
- Rainbow‑Table‑Angriffe
- Identische Hashes bei gleichen Passwörtern
Beispiel (vereinfacht)
Eingabe:
Hallo
SHA‑256‑Hash:
185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
Schon eine kleine Änderung erzeugt einen völlig anderen Hash.