Hallo Leute
ich baue mir gerade eine Oberfläche für meinen Mailserver,
um die Passwörter der Konten bequem über den Browser ändern zu können.
Natürlich muss der Nutzer berechtigt sein, deshalb frage ich das alte PW vor
der Änderung ab. Hierbei komme ich nicht weiter, da der Vergleich mit PHP(7.0)
nicht klappt.
$pw_alt kommt aus dem Formular
$data['password'] aus der DB
Code
function testpwd($pwd){
$password = $pwd;
$salt = substr(sha1(rand()), 0, 16);
$hashedPassword = "{SHA512-CRYPT}" . crypt($password, "$6$$salt");
return $hashedPassword;
}
$antwort_alt= testpwd($pw_alt);
echo var_dump(hash_equals($antwort_alt, $data['password'])); ///ergibt false
echo var_dump(password_verify($pw_alt, $data['password'])); /// ergibt false
vergleiche ich den neuen hash mit dovecot erhalte ich ein "verified".
Code
doveadm pw -t '{SHA512-CRYPT}$6$9e9e1a6158cb06cd$ctPwJ3sgyl/gGBf.77P//rpMJrii2SkyLEU/fQxVi8Yj4xmKi3tZDLmX/TmfMkdKlvY6XGBLoDlmmaeV48Gaf0' -p 'passwort12345'
{SHA512-CRYPT}$6$9e9e1a6158cb06cd$ctPwJ3sgyl/gGBf.77P//rpMJrii2SkyLEU/fQxVi8Yj4xmKi3tZDLmX/TmfMkdKlvY6XGBLoDlmmaeV48Gaf0 (verified)
Google bringt mich leider auch nicht weiter
Gibt es noch andere Wege/Möglichkeiten in PHP?
Danke Im Voraus
michi