BRE03

Les hash en PHP

Les contenus du cours BRE03 Web Dev Course © 2024 par Mari Doucet sont sous licence CC BY-NC-SA 4.0

Chiffrement et déchiffrement

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.

Chiffrer un mot de passe

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é.

Déchiffrer un mot de passe

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
}

Exercices sur les hash

Exercices sur les hashs