
Hash
Ein Hash ist eine kurze Zeichenfolge, die aus beliebigen Daten berechnet wird und immer gleich lang ist. Sie funktioniert wie ein Fingerabdruck: Schon eine winzige Änderung an den Daten führt zu einem völlig anderen Hash.
Ein Hash ist eine kurze Zeichenfolge, die ein Rechner aus einer Datei oder einem Text ausrechnet. Egal ob man einen einzelnen Buchstaben oder einen ganzen Film hineingibt: Das Ergebnis ist immer gleich lang, zum Beispiel 64 Zeichen. Gleiche Eingabe bedeutet immer das gleiche Ergebnis. Schon eine winzige Änderung an der Eingabe verändert das Ergebnis aber komplett. Und aus dem Ergebnis lässt sich die ursprüngliche Datei nicht zurückrechnen. Man kann sich einen Hash deshalb als Fingerabdruck von Daten vorstellen.
Der Fingerabdruck als Beweismittel
Der praktische Nutzen liegt im Vergleichen. Statt zwei riesige Dateien Bit für Bit gegeneinanderzuhalten, vergleicht man nur ihre kurzen Fingerabdrücke. Stimmen die überein, sind die Dateien mit an Sicherheit grenzender Wahrscheinlichkeit identisch. Das spart enorm viel Rechenzeit und Speicherplatz.
Genauso wichtig ist der umgekehrte Fall. Wenn du ein Programm herunterlädst, veröffentlicht der Anbieter oft den passenden Hash dazu. Du kannst den Hash deiner Datei selbst berechnen und beide vergleichen. Weichen sie ab, wurde die Datei unterwegs verändert oder ist beschädigt. So erkennt man manipulierte Downloads, ohne dem Übertragungsweg vertrauen zu müssen.
Ein dritter Grund ist der Umgang mit Passwörtern. Seriöse Dienste speichern dein Passwort nicht im Klartext, sondern nur dessen Hash. Bei der Anmeldung wird dein eingetipptes Passwort erneut gehasht und mit dem gespeicherten Wert verglichen. Wird die Datenbank gestohlen, haben die Angreifer nur unlesbare Zeichenfolgen. Zurückrechnen lässt sich daraus nichts.
Von der Datei zur Zeichenfolge
Die Berechnung übernimmt eine sogenannte Hashfunktion. Das ist ein festgelegtes Rechenverfahren, das die Daten in Blöcke zerlegt und diese immer wieder vermischt, verschiebt und verrechnet. Bekannte Verfahren heißen SHA-256 oder BLAKE3. Sie sind absichtlich so gebaut, dass jedes einzelne Eingabebit das gesamte Ergebnis beeinflusst. Diesen Effekt nennt man Lawineneffekt.
Weil das Ergebnis immer gleich lang ist, die möglichen Eingaben aber unendlich vielfältig sind, muss es zwangsläufig Zufälle geben. Zwei verschiedene Dateien können denselben Hash ergeben. Das heißt Kollision. Bei einem guten Verfahren ist sie so unwahrscheinlich, dass sie praktisch nie zufällig auftritt. Ältere Verfahren wie MD5 gelten dagegen als gebrochen, weil man Kollisionen gezielt erzeugen kann. Für Sicherheitszwecke werden sie deshalb nicht mehr eingesetzt.
Ein häufiger Irrtum: Hashen ist keine Verschlüsselung. Verschlüsselte Daten lassen sich mit dem passenden Schlüssel wieder lesbar machen. Ein Hash dagegen ist eine Einbahnstraße, dort geht Information bewusst verloren. Deshalb kann auch der Betreiber eines Dienstes dein Passwort nicht auslesen, sondern nur zurücksetzen.
Hashes in Blockchains, Git und Trainingsdaten
Am sichtbarsten sind Hashes bei Kryptowährungen. Jeder Block einer Blockchain enthält den Hash des vorherigen Blocks. Ändert jemand eine alte Zahlung, passt der Hash nicht mehr, und die gesamte Kette danach wird ungültig. Beim Mining suchen Rechner außerdem so lange nach einer passenden Zahl, bis der Hash eines Blocks eine bestimmte Form hat. Genau dieses Raten frisst den Strom, über den in den Nachrichten berichtet wird.
Auch Entwickler arbeiten täglich mit Hashes. Die Versionsverwaltung Git benennt jede gespeicherte Änderung nach ihrem Hash, etwa als Zeichenfolge wie a3f9c21. Im KI-Bereich nutzt man Hashes, um in riesigen Trainingsdatensätzen doppelte Bilder oder Texte zu finden. Solche Dubletten kosten Rechenzeit und verschlechtern das Modell.
Im Alltag begegnen Hashes dir meist unsichtbar. Sie stecken in Prüfziffern, in der Bilderkennung von Plattformen und in jedem Login. Wenn eine Meldung berichtet, ein Dienst habe Passwörter im Klartext gespeichert, ist das genau deshalb ein Skandal: Der Fingerabdruck hätte gereicht.