Was ist Hashing?
Hashing ist ein Verfahren, bei dem du Daten (wie ein Passwort oder eine Datei) in eine kürzere, feste Zeichenfolgeumwandelst – einen sogenannten Hash-Wert.
Der Hash-Wert sieht aus wie eine zufällige Kombination von Buchstaben und Zahlen, aber er hat eine wichtige Eigenschaft:
Wenn du dieselben Daten immer wieder hasht, bekommst du immer denselben Hash-Wert. Und: Es ist nahezu unmöglich, aus dem Hash-Wert die Original-Daten wiederherzustellen.
Stell dir vor:
Du hast ein Langes Rezept (das sind deine Daten).
Wenn du das Rezept mit Hashing bearbeitest, kommt am Ende eine kurze, zufällige Kombination heraus – das ist der Hash-Wert. Aber du kannst das Rezept (die Original-Daten) aus der Kombination nicht zurückbekommen.
Warum wird Hashing verwendet?
Hashing hat viele Anwendungen, aber hier sind einige wichtige:
Passwortspeicherung:
Statt dein Passwort als Klartext zu speichern, wird nur der Hash-Wert des Passworts gespeichert. Wenn du dich anmeldest, wird dein eingegebenes Passwort gehasht und mit dem gespeicherten Hash-Wert verglichen. So wird dein echtes Passwort nicht in der Datenbank abgelegt – es ist sicherer.Datenintegrität prüfen:
Wenn du eine Datei herunterlädst, kann ein Hash-Wert überprüft werden, um sicherzustellen, dass die Datei nicht verändert wurde (z. B. durch einen Virus). Wenn die Datei den gleichen Hash-Wert hat wie der Original-Hash, ist sie unverändert.Digitale Signaturen und Zertifikate:
Hashing wird verwendet, um Dokumente oder Nachrichten zu signieren, sodass der Empfänger sicher sein kann, dass sie nicht verändert wurden.
Wie funktioniert Hashing?
Du gibst Daten (z. B. ein Passwort oder eine Datei) ein.
Ein Hash-Algorithmus (wie SHA-256 oder MD5) nimmt diese Daten und erzeugt einen Hash-Wert.
Der Hash-Wert sieht zufällig aus, hat aber immer die gleiche Länge (z. B. 64 Zeichen bei SHA-256).
Der Hash-Wert wird gespeichert, aber die ursprünglichen Daten nicht.
Beispiel:
Du gibst ein Passwort ein: „SuperSecret123!“
Der Hash-Algorithmus erzeugt daraus den Hash-Wert:
a6f7a383d72e9329cf854d1742d18f2f9f87fbed8475440db72c33d8e3b1e03f
Auch wenn du das Passwort später erneut eingibst, wird der gleiche Hash-Wert erzeugt und so die Übereinstimmung geprüft.
Wichtige Eigenschaften von Hashing
Eindeutig: Zwei unterschiedliche Daten sollten nie denselben Hash-Wert haben (dies nennt man „Kollisionssicherheit“).
Einweg: Es ist extrem schwierig (nahezu unmöglich), aus dem Hash-Wert die Original-Daten wieder zu berechnen.
Feste Länge: Der Hash-Wert hat immer die gleiche Länge, unabhängig davon, wie groß die Eingabedaten sind.
Beispiel aus dem Alltag:
Stell dir vor, du hast ein Buch.
Du willst den Inhalt des Buchs für später speichern, ohne das Buch selbst zu kopieren.
Du fassst das ganze Buch in eine einzigartige Zahl zusammen (wie einen Fingerabdruck des Buchs). Diese Zahl ist der Hash-Wert.
Wenn du das Buch später wieder hast, kannst du die Zahl (den Hash-Wert) prüfen, um sicherzustellen, dass das Buch nicht verändert wurde.
Zusammengefasst
Hashing ist eine Methode, um Daten in eine kurze, einzigartige Zeichenfolge zu verwandeln. Diese Zeichenfolge – der Hash-Wert – ist nahezu unmöglich zurückzuverfolgen und bietet viele Sicherheitsvorteile, besonders bei der Speicherung von Passwörtern und der Überprüfung der Integrität von Daten.