Michael Schröpl: Mit password() ein Passwort eingeben und ausgeben?

Beitrag lesen

Hi Andreas,

Das Hauptproblem dabei ist nämlich, dass ich dann niemandem sein
Passwort schicken kann, wenn er es vergessen hat.
Ich mache das so, das ich den Leuten dann halt ein neues Passwort
schicke!

Yep.

Das ist dumm, aber anders wäre es wohl eine große Sicherheitslücke,
wenn man Passwörter einfach aus der DB zurück generieren könnte,
oder?

Wenn jemand direkten Zugriff auf die Datenbank hat, könnte er dort die
Kennworte lesen und anschließend über den normalen Zugang Dinge tun,
die über eine direkte Datenbankmanipulation auffallen könnten.

PS: ergibt die Verschlüsselung von immer der gleichen Zeichenfolge
auch verschlüsselt sicher wieder die gleiche Zeichenfolge?

Ja - wie sonst soll man ein Passwort überprüfen können?

Bei md5() schon, bei crypt() nicht, aber das funktioniert soweit ich
weiß trotzdem.

Bei crypt() besteht die Eingabe aus dem Paar (salt, password) - wenn
beide sich nicht ändern, dann ändert sich auch das Ergebnis der
Verschlüsselung nicht.

Das verwendete salt steht auch am Anfang des verschlüsselten Passworts

  • _das_ ist also erkennbar. Und damit kann man das gesendete Passwort
    mit demselben salt verschlüsseln und prüfen, ob dasselbe heraus kommt.

Viele Grüße
      Michael