Ich habe einen Datenbankeintrag für das Passwort im md5-Format, aber wenn der Benutzer die Funktion "Passwort vergessen" verwendet, wie kann ich ihm/ihr dann das gewünschte Passwort geben?
Antworten
Zu viele Anzeigen?Das geht nicht - MD5 ist lediglich ein "Einweg"-Hash - kein Mittel zur Verschlüsselung von Daten, die anschließend wieder entschlüsselt werden können.
Der Grundgedanke ist also folgender:
-
Senden Sie dem Benutzer eine E-Mail an seine registrierte Adresse mit einem Link zum Zurücksetzen. (Um zu beweisen, dass sie die Adresse tatsächlich besitzen.) Der Rücksetzungslink sollte einen Hash enthalten, der auf einem Aspekt ihrer spezifischen Benutzerdaten basiert, damit er nicht einfach erraten werden kann, usw. (z. B.: Zeitpunkt der Kontoerstellung.)
-
Wenn der Benutzer auf den Link klickt, landet er auf einer Seite zum Zurücksetzen des Kennworts, die den obigen Hash überprüft, ein neues Kennwort generiert (idealerweise eine Mischung aus Groß- und Kleinbuchstaben und einigen numerischen Zeichen, obwohl ich der Übersichtlichkeit halber immer dazu neige, Zeichen wie "0", "o", "O" usw. wegzulassen) und dem Benutzer dann das neue Kennwort in einer E-Mail schickt und ihn darauf hinweist, dass er dieses Kennwort so bald wie möglich ändern sollte.
Der Benutzer kann sich dann anmelden und wie gewohnt auf die Website zugreifen.