Christian Seiler: md5() verschlüsselung entschlüsseln

Beitrag lesen

Hallo Patrick,

ja gut werde mir das mal überlegen. wie erstelle ich denn ein temporäres passwort?

Du könntest eine Zufallszahl erzeugen und diese dann selbst durch md5 jagen.

Also:

MD5
Zufallszahl    ----->    temp. Passwort
                           /    \                    Email  /      \  MD5
                         /        \                         v          v
                  Benutzer        Datenbank

und wie kann ich es verfallen lassen nach einer zeit?

Du speicherst es in einer Tabelle, in der Du auch speicherst, wann das Passwort generiert wurde. Wenn sich der Benutzer nun mit dem temporären Passwort versucht einzuloggen, wird nicht nur geschaut, ob das Passwort übereinstimmt, sondern auch, ob der Zeitpunkt des Erstellens des Passworts noch innerhalb eines gewissen Zeitraumes liegt. Wenn dem nicht der Fall ist, verweigerst Du den Zugang. Du solltest desweiteren bei jedem erfolgreichen Login alle eventuell vorhandenen temporären Passwörter für den Benutzer löschen, damit die nicht ewig als "Leichen" in der Datenbank rumliegen. Außerdem solltest Du Dir beim Login mit einem temporären Passwort merken, dass dieser Login "besonders" war, damit der Benutzer sein Passwort ändern kann, ohne sein altes zu kennen. (die Markierung "besonders" kannst Du in der Session als Variable speichern) Schließlich hat er das ja vergessen. Sobald der Benutzer sein Passwort geändert hat, löscht Du diese Variable sicherheitshalber wieder aus der Session.

Viele Grüße,
Christian