Hashing

Hashing

Hashing ist ein Verfahren, das eine beliebig lange Eingabe – zum Beispiel ein Passwort oder eine Datei – in eine Zeichenkette fester Länge umrechnet, den sogenannten Hashwert. Dieser Vorgang ist in eine Richtung durchführbar: Aus dem Hashwert lässt sich die ursprüngliche Eingabe nicht zurückberechnen.

Hashing ist ein Verfahren, das eine beliebige Eingabe – ein Wort, ein Satz, eine ganze Datei – in eine Zeichenkette fester Länge umwandelt. Diese Zeichenkette heißt Hashwert. Die Funktion, die das berechnet, heißt Hashfunktion. Egal ob die Eingabe drei Buchstaben oder drei Millionen hat: Der Hashwert ist immer gleich lang. Und entscheidend ist, was dabei nicht geht: Man kann aus dem Hashwert nicht zurückrechnen, was ursprünglich drin stand.

Warum Hashwerte Passwörter schützen

Webseiten müssen Passwörter irgendwo speichern – aber es wäre gefährlich, sie im Klartext abzulegen. Wird die Datenbank gestohlen, hätte ein Angreifer sofort Zugriff auf alle Konten. Deshalb speichern gut gebaute Systeme nur den Hashwert des Passworts, nie das Passwort selbst.

Beim Einloggen gibt der Nutzer sein Passwort ein, die Seite berechnet den Hashwert und vergleicht ihn mit dem gespeicherten. Stimmen beide überein, ist der Zugang frei. Das eigentliche Passwort verlässt den eigenen Rechner und wird nie gespeichert. Selbst wer die Datenbank stiehlt, erhält nur eine Liste von Hashwerten – und kommt damit zunächst nicht weiter.

Ein ähnliches Prinzip gilt für Dateien. Software-Anbieter veröffentlichen oft den Hashwert eines Installationsprogramms. Wer die Datei herunterlädt, kann selbst den Hashwert berechnen und vergleichen. Stimmt er überein, wurde die Datei unterwegs nicht verändert oder ausgetauscht.

Wie eine Hashfunktion rechnet

Eine Hashfunktion verarbeitet die Eingabe in mehreren mathematischen Schritten: Sie zerlegt den Text in Blöcke, verknüpft sie mit festen Rechenwerten und mischt die Ergebnisse mehrfach durch. Das genaue Verfahren unterscheidet sich je nach Algorithmus. Weit verbreitete Algorithmen heißen SHA-256 oder bcrypt; SHA-256 liefert zum Beispiel immer einen 64-stelligen Hexadezimalwert – also eine Folge aus Ziffern und den Buchstaben A bis F.

Eine wichtige Eigenschaft dabei ist die sogenannte Kollisionsresistenz: Zwei verschiedene Eingaben sollen niemals denselben Hashwert ergeben. In der Praxis ist das nicht mathematisch garantiert, aber bei guten Hashfunktionen so unwahrscheinlich, dass es in der Praxis keine Rolle spielt. Ändert man ein einziges Zeichen der Eingabe, sieht der Hashwert komplett anders aus – das macht es leicht, auch kleinste Veränderungen zu erkennen.

Es gibt auch Hashfunktionen, die bewusst langsam rechnen – wie bcrypt oder Argon2. Das klingt nach einem Nachteil, ist aber gewollt: Wer gestohlene Hashwerte knacken will, muss Millionen von Passwörtern durchprobieren. Wenn jeder Versuch nur eine Millisekunde länger dauert, wird das Durchprobieren trotzdem um ein Vielfaches aufwendiger.

Hashing in Alltag, Technik und News

Hashing steckt in fast jeder Software, die Passwörter verwaltet: in sozialen Netzwerken, Banking-Apps, Betriebssystemen. Wenn nach einem Datenleck bekannt wird, dass Passwörter « gehasht » gespeichert waren, ist das eine gute Nachricht – bedeutet aber nicht automatisch, dass alle Nutzer sicher sind. Wurden veraltete Hashfunktionen wie MD5 verwendet, lassen sich viele einfache Passwörter mit vorgefertigten Tabellen, sogenannten Rainbow Tables, in kurzer Zeit knacken.

In der Blockchain-Technologie, auf der Kryptowährungen wie Bitcoin beruhen, ist Hashing ein zentrales Bauelement. Jeder Block enthält den Hashwert des vorherigen Blocks. Ändert jemand nachträglich einen Eintrag, verändert sich dessen Hashwert – und damit auch alle folgenden Blöcke. Das macht die Kette manipulationssicher.

Auch in der Softwareentwicklung taucht Hashing ständig auf: als schnelle Methode, Daten intern zu organisieren und wiederzufinden. Eine sogenannte Hashtabelle kann in einem großen Datensatz einen einzelnen Eintrag in konstanter Zeit nachschlagen – unabhängig davon, wie viele Einträge insgesamt vorhanden sind. Hashing ist dort kein Sicherheitskonzept, sondern ein Effizienzwerkzeug.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.