Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP-Anmeldung mit MySQL-Daten und gehashtem Passwort

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.