Eine Hash-Funktion nimmt beliebigen Input (Text, Datei, Daten) und erzeugt eine Zeichenkette fester Länge, die als Hash oder Digest bezeichnet wird. Der gleiche Input erzeugt immer den gleichen Hash, aber selbst eine kleine Änderung im Input erzeugt einen völlig anderen Hash. Diese Eigenschaft macht Hashes unerlässlich für die Überprüfung der Datenintegrität, die Speicherung von Passwörtern und digitale Signaturen.
Häufige Hash-Algorithmen
MD5 erzeugt einen 128-Bit (32-Zeichen) Hash. Obwohl schnell, wird er für kryptografische Zwecke nicht mehr als sicher angesehen, bleibt jedoch weit verbreitet für Prüfziffern und nicht sicherheitsrelevante Anwendungen. SHA-1 erzeugt einen 160-Bit (40-Zeichen) Hash und ist ebenfalls für die Sicherheitsnutzung veraltet. SHA-256 und SHA-512 (Teil der SHA-2-Familie) sind der aktuelle Standard für sicheres Hashing und erzeugen jeweils 256-Bit (64-Zeichen) und 512-Bit (128-Zeichen) Hashes.
Praktische Anwendungen für Hash-Funktionen
Entwickler verwenden Hashes zur Überprüfung der Dateiintegrität (Vergleich von Prüfziffern), zur sicheren Speicherung von Passwörtern (gehasht, nicht im Klartext), zur Generierung eindeutiger Identifikatoren, digitalen Signaturen und zur Daten-Deduplizierung. Wenn du eine Datei herunterlädst und überprüfen möchtest, ob sie nicht manipuliert wurde, vergleiche den Hash deiner heruntergeladenen Datei mit dem offiziellen Hash, der vom Herausgeber bereitgestellt wird.