Lost Passwort?

vodka

Mitglied
Hallo also ich wollte bei meinem Login system eine Lost Passwort funktion einbauen aber leider wen ich das Passwort anfordere kommt immer das verschlüsselte Passwort raus! So etwas "12067cad3b276abb78ce74e01a0d5"
was muss ich machen das dass richtige Passwort zugeschickt bekommt?
 
Das sieht so aus, wie ein md5 Hash. Dieser ist nicht "decodierbar" sprich, du bekommst das alte Passwort gar nicht mehr raus.
Deshalb verfahren alle Seiten, die nur die md5-Hashes ihrer User-Passwörter abspeichern so, dass sie automatisch ein neues Passwort kreieren, den zugehören md5 Hash in der DB speichern und dir ein neues Passwort zumailen.

Solltest du daran zweifeln, dass der md5 irreversibel ist, bzw. dich dafür interessieren, wie er entsteht, hier der Link zum zugehörigen RFC.
http://www.informatik.uni-mannheim.de/informatik/pi4/projects/Crypto/rgp/md5/rfc1321.txt
Punkt 3 beschreibt die den Erzeugungsprozess des hash Werts.
 
Original geschrieben von vodka
Und wie mach ich das :D?
Über Zufallspasswort Erzeugung und Mailversand via PHP gibt es genug Threads und Tutorials auch hier bei uns. Schau halt in die entsprechende Tutorials Sektion rein, oder nutze die Suchfunktion.
 
Das gleiche Problem hatte ich auch. Nur wenn ich die Datenbank updaten will trägt der nur "md5()" ein - warum?
PHP:
$update = mysql_query("UPDATE infmem_dat SET ident_pass = '".md5($_REQUEST["ident_pass"])."' WHERE user_id='$user_id'");

...habs auch mit ausprobiert:

PHP:
$update = mysql_query("UPDATE infmem_dat SET ident_pass = '".md5("$ident_pass")."' WHERE user_id='$user_id'");

Alles andere funktioniert tadellos!

thx for help
ice:-)
 
Zuletzt bearbeitet:
Original geschrieben von vodka
Und wie mach ich das :D?

Ein Zufallspasswort kannst du folgendermaßen generieren :


PHP:
// Neues Passwort generieren
        if (!function_exists("pw_generate")){
            function pw_generate($length = 8) {        // $length = Anzahl Zeichen Passwort
                $chars_for_pw  = "ABCDEFGHJKLMNPQRSTUVWX";
                $chars_for_pw .= "123456789";
                $chars_for_pw .= "abcdefghijkmnpqrstuvwx";
                $char_control  = "";
                srand((double) microtime() * 1000000);
                for($i=0;$i<$length;$i++) {
                    $number = rand(0, strlen($chars_for_pw));
                    $char_control .= $chars_for_pw[$number];
                }
                return $char_control;
            }
        }
        
    $Passwort_neu = pw_generate(8);   // Generiertes Passwort in Variable speichern
 
Nein, keine Fehlermeldung. Es wird nur md5() in die Datenbank eingetragen, das ist der einzige erkennbare Fehler!
 
PHP:
$update = mysql_query('UPDATE infmem_dat SET ident_pass = "'.md5($ident_pass).'" WHERE user_id="'.$user_id.'"');

sollte eigentlich gehen, wenn nicht dann machste einfach

PHP:
$ident_pass=md5($ident_pass);
$update = mysql_query('UPDATE infmem_dat SET ident_pass = "'.$ident_pass.'" WHERE user_id="'.$user_id.'"');
 
Zurück