Anstatt MD5 zu verwenden oder zu versuchen, das Passwort zu entschlüsseln – wie andere hier vorgeschlagen haben – verwenden Sie einfach den nativen password_hash() Funktion, die automatisch prüft, ob das Passwort für Sie richtig ist.
Verschlüsseln Sie das Passwort wie folgt:
$unencrypted_password = 'secret!';
$encrypted_password = password_hash($unencrypted_password, PASSWORD_DEFAULT);
Fügen Sie dann wie folgt in Ihre DB ein:
INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);
Wenn Sie überprüfen möchten, ob das Passwort korrekt ist, wählen Sie das Passwort aus der Datenbank mit:
SELECT encrypted_password FROM users WHERE username = $username;
Überprüfen Sie abschließend, ob das Passwort korrekt ist, indem Sie passoword_verify() verwenden :
$correct = password_verify($unecnrypted_password, $encrypted_password);
if($correct == true) {
echo 'correct password!';
} else {
echo 'password incorrect!';
}
Achten Sie darauf, sich gegen SQL-Injection zu schützen, da der obige Code dafür anfällig ist.