Plutôt que d'utiliser MD5 ou d'essayer de déchiffrer le mot de passe - comme d'autres l'ont suggéré ici - utilisez simplement le code natif de PHP password_hash() fonction qui vérifie automatiquement si le mot de passe est correct pour vous.
Chiffrez le mot de passe comme ceci :
$unencrypted_password = 'secret!';
$encrypted_password = password_hash($unencrypted_password, PASSWORD_DEFAULT);
Insérez ensuite dans votre base de données comme suit :
INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);
Lorsque vous voulez vérifier si le mot de passe est correct, sélectionnez le mot de passe dans la base de données avec :
SELECT encrypted_password FROM users WHERE username = $username;
Enfin, vérifiez que le mot de passe est correct en utilisant passoword_verify() :
$correct = password_verify($unecnrypted_password, $encrypted_password);
if($correct == true) {
echo 'correct password!';
} else {
echo 'password incorrect!';
}
Veillez à vous protéger contre l'injection SQL, car le code ci-dessus y est vulnérable.