Symfony – Hachage des mots de passe
Symfony – Hachage des mots de passe
Cours 26 — Hachage des mots de passe
Introduction
Un mot de passe ne doit jamais être enregistré en clair dans la base de données.
Symfony utilise un système de hachage sécurisé.
Mot de passe en clair
À éviter :
1
azerty123
Si la base est compromise, le mot de passe est visible.
Mot de passe haché
Exemple :
1
$2y$13$4M...
Le mot de passe devient illisible.
Hachage avec Symfony
1
2
3
4
5
$hashedPassword =
$passwordHasher->hashPassword(
$user,
$password
);
Enregistrer le mot de passe
1
2
3
$user->setPassword(
$hashedPassword
);
Exemple complet
1
2
3
4
5
6
7
8
9
$hashedPassword =
$passwordHasher->hashPassword(
$user,
$password
);
$user->setPassword(
$hashedPassword
);
Vérification lors de la connexion
L’utilisateur saisit :
1
2
Email
Mot de passe
Symfony compare automatiquement le mot de passe saisi avec le mot de passe haché enregistré.
Comprendre le processus
1
2
3
4
5
6
7
Mot de passe
↓
hashPassword()
↓
Valeur hachée
↓
Base de données
Pourquoi hacher ?
Le mot de passe réel n’est jamais stocké.
Même l’administrateur de la base ne peut pas le lire.
Conclusion
Pour sécuriser un mot de passe :
1
$passwordHasher->hashPassword()
À retenir :
- ne jamais stocker un mot de passe en clair ;
- utiliser
hashPassword(); - enregistrer uniquement la valeur hachée ;
- Symfony vérifie automatiquement le mot de passe lors de la connexion.
This post is licensed under CC BY 4.0 by the author.