Was ist Hashing?

Hash­ing ist ein Ver­fah­ren, bei dem du Daten (wie ein Pass­wort oder eine Datei) in eine kür­ze­re, fes­te Zei­chen­fol­geumwan­delst – einen soge­nann­ten Hash-Wert.

Der Hash-Wert sieht aus wie eine zufäl­li­ge Kom­bi­na­ti­on von Buch­sta­ben und Zah­len, aber er hat eine wich­ti­ge Eigen­schaft:
Wenn du die­sel­ben Daten immer wie­der hasht, bekommst du immer den­sel­ben Hash-Wert. Und: Es ist nahe­zu unmög­lich, aus dem Hash-Wert die Ori­gi­nal-Daten wie­der­her­zu­stel­len.

Stell dir vor:
Du hast ein Lan­ges Rezept (das sind dei­ne Daten).
Wenn du das Rezept mit Hash­ing bear­bei­test, kommt am Ende eine kur­ze, zufäl­li­ge Kom­bi­na­ti­on her­aus – das ist der Hash-Wert. Aber du kannst das Rezept (die Ori­gi­nal-Daten) aus der Kom­bi­na­ti­on nicht zurückbekommen.


War­um wird Hash­ing verwendet?

Hash­ing hat vie­le Anwen­dun­gen, aber hier sind eini­ge wichtige:

  1. Pass­wort­spei­che­rung:
    Statt dein Pass­wort als Klar­text zu spei­chern, wird nur der Hash-Wert des Pass­worts gespei­chert. Wenn du dich anmel­dest, wird dein ein­ge­ge­be­nes Pass­wort gehasht und mit dem gespei­cher­ten Hash-Wert ver­gli­chen. So wird dein ech­tes Pass­wort nicht in der Daten­bank abge­legt – es ist sicherer.

  2. Daten­in­te­gri­tät prü­fen:
    Wenn du eine Datei her­un­ter­lädst, kann ein Hash-Wert über­prüft wer­den, um sicher­zu­stel­len, dass die Datei nicht ver­än­dert wur­de (z. B. durch einen Virus). Wenn die Datei den glei­chen Hash-Wert hat wie der Ori­gi­nal-Hash, ist sie unverändert.

  3. Digi­ta­le Signa­tu­ren und Zer­ti­fi­ka­te:
    Hash­ing wird ver­wen­det, um Doku­men­te oder Nach­rich­ten zu signie­ren, sodass der Emp­fän­ger sicher sein kann, dass sie nicht ver­än­dert wurden.


Wie funk­tio­niert Hashing?

  1. Du gibst Daten (z. B. ein Pass­wort oder eine Datei) ein.

  2. Ein Hash-Algo­rith­mus (wie SHA-256 oder MD5) nimmt die­se Daten und erzeugt einen Hash-Wert.

  3. Der Hash-Wert sieht zufäl­lig aus, hat aber immer die glei­che Län­ge (z. B. 64 Zei­chen bei SHA-256).

  4. Der Hash-Wert wird gespei­chert, aber die ursprüng­li­chen Daten nicht.

Bei­spiel:

  • Du gibst ein Pass­wort ein: „SuperSecret123!“

  • Der Hash-Algo­rith­mus erzeugt dar­aus den Hash-Wert:
    a6f7a383d72e9329cf854d1742d18f2f9f87fbed8475440db72c33d8e3b1e03f

  • Auch wenn du das Pass­wort spä­ter erneut ein­gibst, wird der glei­che Hash-Wert erzeugt und so die Über­ein­stim­mung geprüft.


Wich­ti­ge Eigen­schaf­ten von Hashing

  • Ein­deu­tig: Zwei unter­schied­li­che Daten soll­ten nie den­sel­ben Hash-Wert haben (dies nennt man „Kol­li­si­ons­si­cher­heit“).

  • Ein­weg: Es ist extrem schwie­rig (nahe­zu unmög­lich), aus dem Hash-Wert die Ori­gi­nal-Daten wie­der zu berechnen.

  • Fes­te Län­ge: Der Hash-Wert hat immer die glei­che Län­ge, unab­hän­gig davon, wie groß die Ein­ga­be­da­ten sind.


Bei­spiel aus dem Alltag:

Stell dir vor, du hast ein Buch.

  • Du willst den Inhalt des Buchs für spä­ter spei­chern, ohne das Buch selbst zu kopieren.

  • Du fassst das gan­ze Buch in eine ein­zig­ar­ti­ge Zahl zusam­men (wie einen Fin­ger­ab­druck des Buchs). Die­se Zahl ist der Hash-Wert.

  • Wenn du das Buch spä­ter wie­der hast, kannst du die Zahl (den Hash-Wert) prü­fen, um sicher­zu­stel­len, dass das Buch nicht ver­än­dert wur­de.


Zusam­men­ge­fasst

Hash­ing ist eine Metho­de, um Daten in eine kur­ze, ein­zig­ar­ti­ge Zei­chen­fol­ge zu ver­wan­deln. Die­se Zei­chen­fol­ge – der Hash-Wert – ist nahe­zu unmög­lich zurück­zu­ver­fol­gen und bie­tet vie­le Sicher­heits­vor­tei­le, beson­ders bei der Spei­che­rung von Pass­wör­tern und der Über­prü­fung der Inte­gri­tät von Daten.