Les contenus du cours BRE03 Web Dev Course © 2024 par Mari Doucet sont sous licence CC BY-NC-SA 4.0
Parce que ce serait un gros problème de sécurité, nous n’allons pas stocker des mots de passe en clair dans notre base de données. Nous allons utiliser les fonctions de chiffrement et déchiffrement fournies par PHP.
Utilisez la fonction password_hash()
: https://www.php.net/manual/en/function.password-hash.php
Un exemple d’utilisation :
<?php
$password = "P@ssw0rD";
$hash = password_hash($password, PASSWORD_DEFAULT); // l'algo de chiffrement par défaut c'est bcrypt qui fait très bien son travail.
echo "$hash<br>";
// je peux maintenant stocker ce mot de passe chiffré dans ma base de données
?>
Dans l’exemple ci dessus, la variable $hash
contient votre mot de passe une fois chiffré.
Utilisez la fonction password_verify
: https://www.php.net/manual/en/function.password-verify.php
Un exemple d’utilisation :
// ici j'ai récupéré le contenu de ma variable $hash depuis la base de données et $password depuis un formulaire
$isPasswordCorrect = password_verify($password, $hash);
if($isPasswordCorrect === true)
{
// le mot de passe est le bon
}
else
{
// erreur de mot de passe
}