I stedet for at bruge MD5 eller forsøge at dekryptere adgangskoden - som andre her har foreslået - skal du blot bruge PHP's oprindelige password_hash() funktion, som automatisk tjekker, om adgangskoden er korrekt for dig.
Krypter adgangskoden sådan her:
$unencrypted_password = 'secret!';
$encrypted_password = password_hash($unencrypted_password, PASSWORD_DEFAULT);
Indsæt derefter i din DB sådan:
INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);
Når du vil kontrollere, om adgangskoden er korrekt, skal du vælge adgangskoden fra databasen med:
SELECT encrypted_password FROM users WHERE username = $username;
Til sidst skal du kontrollere, at adgangskoden er korrekt ved at bruge passoword_verify() :
$correct = password_verify($unecnrypted_password, $encrypted_password);
if($correct == true) {
echo 'correct password!';
} else {
echo 'password incorrect!';
}
Vær omhyggelig med at beskytte mod SQL-injektion, da ovenstående kode er sårbar over for det.