HashingVerfahren
HashingVerfahren bezeichnet Verfahren, die aus einer Eingabe einen oft festen Ausgabewert, den Hash, erzeugen. Hashwerte dienen zur Identifikation, Indizierung oder Integritätsprüfung von Daten. Die Berechnung ist deterministisch; dieselbe Eingabe liefert denselben Hash. Typischerweise sind Hashfunktionen schnell und speichereffizient, aber die Eigenschaften hängen vom Einsatz ab.
Man unterscheidet kryptographische von nicht-kryptographischen Hashfunktionen. Kryptographische Funktionen bieten Sicherheitsgarantien wie Preimage-, Second- und Kollisionsresistenz und
Beispiele für nicht-kryptographische Verfahren sind MurmurHash, CityHash und FNV. Sie werden in Hash-Tabellen, Dateideduplication oder Caches
Kryptographische Hashfunktionen umfassen SHA-256, SHA-3, BLAKE3 sowie veraltete MD5/SHA-1. Eigenschaften wie Kollisionsresistenz, hohe Entropie und Resilienz
Für Passwörter kommen salzbasierte Hashverfahren wie PBKDF2, bcrypt, scrypt oder Argon2 zum Einsatz, oft mit mehreren