PHP 4.3

14.4 Einweg-Verschlüsselung

Stellen Sie sich eine Benutzerregistrierung vor, die sämtliche Benutzerangaben in einer Datei oder Datenbank abspeichert, darunter das verschlüsselte Passwort eines Benutzers. Um den Sinn der Verschlüsselung von Passwörtern noch einmal hervorzuheben: Unser Ziel muss es sein, dass wirklich nur der Benutzer selbst sein Passwort kennt. Aus diesem Grund hinterlegen wir nur einen Hash-Wert des Passworts. Selbst ein direkter Einblick in eine Datenbank oder Passwortdatei würde Angreifern so das Leben erheblich schwerer machen, nur den Wörterbuchangriff können wir dann nicht mehr verhindern. Übrigens bieten fast alle Datenbanken von Haus aus Funktionen zum Verschlüsseln von Passwörtern an.

Lassen Sie uns die Anwendung einer Einweg-Verschlüsselung in fünf praktischen Schritten zusammenfassen.


  1. Der Benutzer legt bei der Registrierung ein Passwort fest.
  2. Das Passwort wird (z.B. mit dem MD5-Verfahren) einwegverschlüsselt, der resultierende Hash (= verschlüsseltes Passwort) wird in einer Datei oder Datenbank abgelegt.
  3. Der Benutzer gibt bei einer weiteren Anmeldung sein Passwort ein.
  4. Das eingegebene Passwort wird ebenfalls verschlüsselt und mit dem gespeicherten Hash in der Datei oder Datenbank verglichen.
  5. Stimmen beide Hashes überein, wurde das Passwort korrekt angegeben.


Irreversible Passwortverschlüsselungen haben jedoch auch einen Nachteil: Hat ein Kunde oder Nutzer sein Passwort vergessen, gibt es keine andere Möglichkeit, als dem Kunden ein neues Passwort zuzuweisen.

Wir möchten Ihnen nachfolgend zwei Funktionen vorstellen, mit denen eine solche Einwegverschlüsselung zu realisieren ist.

Kommentare (0)

Ihr Kommentar

Name