Start / Leitfäden / Wofür Hashes verwendet werden — Git, Blockchain, Deduplizierung

Hash-Funktionen fallen kaum auf, spielen aber überall in moderner Software eine zentrale Rolle. Weil sie für dieselbe Eingabe stets denselben kurzen Fingerabdruck erzeugen, werden sie an nahezu allen Stellen eingesetzt, an denen Identifikation, Vergleich und Verifizierung nötig sind.

Git identifiziert jeden Commit und jede Datei über einen Hash. Bei gleichem Inhalt ist der Hash gleich, was doppelte Speicherung vermeidet; ändert sich der Inhalt, ändert sich der Hash und die Änderung wird erkannt. Auch die Blockchain verkettet Blöcke über Hashes und macht so eine Manipulation vergangener Aufzeichnungen unmöglich.

Auch bei der Deduplizierung (dedup) kommen Hashes zum Einsatz. Durch den Vergleich der Hashes von Dateien oder Daten lässt sich schnell feststellen, ob sie identisch sind, ohne den gesamten Inhalt zu vergleichen. Cloud-Speicher- und Backup-Systeme sparen auf diese Weise Speicherplatz.

Darüber hinaus sind die Anwendungen endlos: Hash-Tabellen (Datenstruktur), Cache-Schlüssel, inhaltsbasierte Adressierung (CDN), digitale Signaturen und mehr. Entscheidend ist die Wahl des zum Zweck passenden Algorithmus: Ist Sicherheit gefragt, nehmen Sie SHA-256 oder höher, geht es nur um Geschwindigkeit, einen nicht kryptografischen Hash.

Mit diesem Algorithmus hashen