Ein Hash-Wert ist ein skalarer Wert, der aus einer komplexeren Datenstruktur (Zeichenketten, Objekte, ...) mittels einer Hash-Funktion berechnet wird. Die Bedeutung dieses Informatik-Begriffes liegt darin, dass diese Zuordnung möglichst eindeutig ist, so dass Hash-Werte als Schlüssel für große Mengen an Datenstrukturen in assoziativen Arrays benutzt werden können. Hash-Algorithmen sind darauf optimiert, so genannte 'Kollisionen' zu vermeiden. Eine Kollision tritt dann auf, wenn zwei verschiedenen Datenstrukturen derselbe Schlüssel zugeordnet wird.
Hash-Funktionen können auch zur Einweg-Verschlüsselung verwendet werden. s.a.:Kryptologie
Man unterscheidet zwischen Statischen und Dynamischen Hash-Verfahren.
Statische Verfahren sind
- Divisionsmethode
- Mittquadratmethode
- Zerlegungsmethode
- Ziffernanalyse
- Quersumme
Dynamisches Hashing
Vorteile
- Es gibt keine obere Grenze für das Datenvolumen
- Einträge können ohne Probleme gelöscht werden
- Adresskollisionen führen nicht zur Clusterbildung.
Nicht möglich:
- effektives Durchlaufen der Einträge nach einer Ordnung
- effektive Suche nach dem Eintrag mit dem kleinsten oder größten Schlüssel