This article has been translated from English to German.
Was ist der Zweck von Hashing?
Der Hauptzweck des Hashings besteht darin, die Integrität eines Datenelements zu überprüfen.
Da der generierte Hash für die Eingabedaten EINMALIG ist, fungiert er als einzigartiger"Fingerabdruck"der Eingabedaten.
Dadurch eignet sich ein Hash zur Überprüfung der Integrität von Daten, die über unsichere Kommunikationskanäle wie das Internet gesendet werden. Datenintegrität bedeutet einfach, dass die Daten nicht auf unzulässige Weise verändert wurden.
Der Hash-Wert empfangener Daten kann mit dem Hash-Wert der Daten vor dem Versand verglichen werden, um festzustellen, ob die Daten verändert wurden.
Wenn ich sowohl die Nachricht als auch den daraus generierten Hashwert poste, kannst du einen Hashwert aus der Nachricht generieren, die du erhalten hast, und die Hashwerte vergleichen.
Nehmen wir ein sehr einfaches Beispiel: Nehmen wir an, wir treffen uns zum Mittagessen, und kurz bevor ich zur Tür hinausgehe, erinnere ich mich an unser letztes Treffen ...

Deine Persönlichkeit war wirklich nett, aber dein Geruch war überhaupt nicht nett. 😬
Deshalb möchte ich dir eine Nachricht schicken:"Bitte benutze Deo."
Aber bevor ich das abschicke, lasse ich es durch eine Hash-Funktion (SHA-256) laufen. Der Hash lautet:
33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef
Ich sende dir zuerst diesen Hashcode. *
DANN sende ich dir die eigentliche Textnachricht.
Sobald du meine Nachricht erhältst, denkst du: "Was zur Hölle? Hat er das wirklich gerade zu mir gesagt? Oder wurde die Nachricht während der Übertragung abgefangen und die ursprüngliche Nachricht wurde geändert?"

Also führst du die Nachricht durch dieselbe Hash-Funktion.
33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef
Dann vergleichst du deinen Hash mit dem Hash, der vor der Textnachricht kam.
Wenn beide Hash-Werte gleich sind, beweist dies, dass
- Die Nachricht wurde korrekt gesendet.
- Deine Achselhöhlen wirklich stinken!
- die Nachricht nicht absichtlich von jemandem verändert wurde, nachdem ich sie an dich gesendet habe und bevor du sie erhalten hast.
In der realen Welt erledigen unsere Computer all diese Aufgaben für uns.
Und hoffentlich riechen deine Achselhöhlen weiterhin frisch. 😅
*Technisch gesehen sollte der Hash vor dem Versand an dich auf irgendeine Weise geschützt werden, aber ich wollte das Beispiel einfach halten. Wie der Hash während der Übertragung geschützt bleibt, wird in einer späteren Lektion behandelt.
Praxisbeispiel für Hashing: Online-Passwörter
Es mag dich vielleicht überraschen, aber du begegnest Hashing wahrscheinlich in deinem täglichen Leben, und zwar immer dann, wenn du dich einloggst, um deine E-Mails zu lesen. 📧

Wenn du eine E-Mail-Adresse und ein Passwort erstellst, speichert dein E-Mail-Anbieter wahrscheinlich nicht dein tatsächliches Passwort.
Stattdessen führt dein E-Mail-Anbieter das Passwort durch eine Hash-Funktion und speichert den Hash deines Passworts.
Jedes Mal, wenn du versuchst, dich bei deinem E-Mail-Konto anzumelden, hasht dein E-Mail-Anbieter das von DIR eingegebene Passwort und vergleicht diesen Hash mit dem von ihm gespeicherten Hash.
Nur wenn die beiden Hash-Werte übereinstimmen, bist du berechtigt, auf deine E-Mails zuzugreifen.
Schauen wir uns an, warum sie dein tatsächliches Passwort NICHT speichern ...
Wenn tatsächliche Passwörter gespeichert werden und Hacker in ihr System eindringen, können sie diese stehlen. Das ist definitiv nicht gut für Benutzer, die dasselbe Passwort für mehrere Websites verwenden!
Eine Lösung ist das Hashen des Passworts ...
Durch das Hashen eines Passworts schützt das Unternehmen die Benutzerdaten. Selbst wenn ein Hacker in das System eindringt, hat er keinen Zugriff auf die tatsächlichen Passwörter, sondern nur auf die Hashes.
Denke daran, dass Hashes irreversibel sind, sodass es für den Hacker unmöglich ist, das tatsächliche Passwort allein durch Betrachtung des Hashes herauszufinden. Durch das Hashing wird sichergestellt, dass die Daten in einem verschlüsselten Zustand gespeichert werden, sodass sie schwieriger zu stehlen sind.

Wenn du dich anmeldest, speichert dein E-Mail-Anbieter nicht das Klartext-Passwort, sondern nur den Hash.
Wenn du dein Passwort eingibst, wird es durch die Hash-Funktion geleitet.
Das Ergebnis wird mit dem in der Datenbank gespeicherten Hash verglichen.
Wenn die Hash-Werte gleich sind, ist das Passwort korrekt.
Bei Eingabe eines falschen Passworts würde ein anderer Hashwert als der gespeichertegeneriert. Die Hashwerte würden NICHT übereinstimmen, sodass der Anmeldeversuch fehlschlagen würde.
Wie du siehst, werden Daten durch eine Hash-Funktion unlesbar gemacht. Selbst wenn ein Hacker Zugriff auf den Server deines E-Mail-Anbieters erhält, können die gespeicherten Daten nicht entschlüsselt werden.


