Invece di usare MD5 o provare a decifrare la password - come altri hanno suggerito qui - usa semplicemente il password_hash() funzione che verifica automaticamente se la password è corretta per te.
Cripta la password in questo modo:
$unencrypted_password = 'secret!';
$encrypted_password = password_hash($unencrypted_password, PASSWORD_DEFAULT);
Quindi inserisci nel tuo DB in questo modo:
INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);
Quando vuoi verificare se la password è corretta, seleziona la password dal database con:
SELECT encrypted_password FROM users WHERE username = $username;
Infine, verifica che la password sia corretta utilizzando passoword_verify() :
$correct = password_verify($unecnrypted_password, $encrypted_password);
if($correct == true) {
echo 'correct password!';
} else {
echo 'password incorrect!';
}
Fai attenzione a proteggerti dall'iniezione di SQL, poiché il codice sopra è vulnerabile ad esso.