Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Warum Passwörter als Hash gespeichert werden

Nach dieser Lektion: Ich kann erklären, warum Passwörter als Hash gespeichert werden.

Lektion, 45 Min.Keine Befehle

Eine Datenbank wird gestohlen

Die Mitgliederdatenbank eines Fitnessstudios wird kopiert. Sie enthält 40.000 E-Mail-Adressen und Passwörter.

Viele Mitglieder nutzen dasselbe Passwort auch für ihr Bankkonto. Sind die Passwörter lesbar, trifft der Schaden weit mehr als das Studio.

Ein gut gebautes System speichert das Passwort gar nicht. Diese Lektion zeigt, was es stattdessen speichert.

Am Ende dieser Lektion

Notiz

Ich kann erklären, warum Passwörter als Hash gespeichert werden.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
KlartextText, den jede Person so lesen kann, wie er ist
Hashein Code fester Länge, der aus einem Text berechnet wird, nur in eine Richtung
Hashfunktiondie Rechenschritte, die aus Text einen Hash machenSHA-256
Salzzufälliger Text, der vor dem Hashen an das Passwort kommt (englisch: Salt)
DatenleckDaten, die in falsche Hände geraten sind

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Hash ist eine Einbahnstraße

Eine Hashfunktion macht aus beliebigem Text einen Code fester Länge. Dieser Code ist der Hash.

Derselbe Text ergibt immer denselben Hash. Ändern Sie einen Buchstaben, sieht der Hash völlig anders aus.

Aus dem Hash kommt man nicht zum Text zurück, man kann nur Texte raten und vergleichen. Deshalb ist ein Hash viel sicherer zu speichern als das Passwort.

Probieren Sie es aus: Passwörter hashen

Code: python
import hashlib


def hash_von(text):
    # encode() macht aus dem Text Bytes, die hashlib braucht
    return hashlib.sha256(text.encode()).hexdigest()


print(hash_von("Sommer2026"))
print(hash_von("Sommer2026"))
print(hash_von("sommer2026"))
print(len(hash_von("a")), len(hash_von("ein deutlich längeres Passwort")))

# Ändern Sie einen Buchstaben in "Sommer2026" und starten Sie erneut.

Bei der Anmeldung werden zwei Hashes verglichen

Bei der Registrierung berechnet das System den Hash Ihres Passworts und speichert nur ihn.

Bei der Anmeldung hasht es, was Sie eintippen. Dann vergleicht es den neuen Hash mit dem gespeicherten. Stimmen sie überein, sind Sie drin.

Das System muss Ihr Passwort nie kennen. Wer die Tabelle stiehlt, erbeutet nur Hashes.

Ein Salz macht gleiche Passwörter unterscheidbar

Zwei Personen mit demselben Passwort haben denselben Hash. Das lässt sich erkennen. Auch fertige Listen häufiger Hashes helfen Angreifenden.

Ein Salz löst das und macht solche Listen unbrauchbar. Das System hängt vor dem Hashen zufälligen Text an jedes Passwort. Das Salz wird neben dem Hash gespeichert. Es muss nicht geheim sein.

Probieren Sie es aus: ein Salz hinzufügen

Code: python
import hashlib


def hash_von(text):
    return hashlib.sha256(text.encode()).hexdigest()


# Zwei Mitarbeitende haben dasselbe Passwort gewählt
print("Amira:", hash_von("Sommer2026")[:16])
print("Bernd:", hash_von("Sommer2026")[:16])

# Jetzt bekommt jede Person ihr eigenes Salz, es liegt neben dem Hash
print("Amira:", hash_von("x7Q2" + "Sommer2026")[:16])
print("Bernd:", hash_von("k9Lp" + "Sommer2026")[:16])

# Geben Sie Bernd das Salz "x7Q2". Was passiert mit seinem Hash?

Ein häufiger Fehler

Warnung

Viele halten Hashing und Verschlüsselung für dasselbe. Verschlüsselte Daten lassen sich mit einem Schlüssel zurückholen. Ein Hash lässt sich von niemandem zurückholen. Speichern Sie Passwörter als Hash, denn niemand, auch nicht Sie, soll sie lesen können.

Im Berufsalltag

Tipp

SHA-256 ist schnell, und das hilft Angreifenden, die Milliarden Passwörter ausprobieren. Echte Systeme nutzen ein langsames Passwort-Verfahren wie bcrypt oder Argon2. Es erzeugt das Salz selbst.Die Idee bleibt wie in dieser Lektion.

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.