Sujet: [Symfony 2] Encoder ses mots de passe de manière sûr Mar 16 Avr - 23:30 |
|
|
Un jour ou l'autre, quelqu'un peut mettre la main sur notre base de donnée, et la plupart du temps sur les comptes, même les admins. Si nos mots de passe sont bien cryptés, il est presque impossible de mettre la main sur les mots de passe décryptés. Nous allons pour cela utilise l’algorithme de hashage sha512, ainsi qu'un salt. Un salt (sel), permet de corser le mot de passe, en lui ajouter une chaine de caractère aléatoire très complexe (donc le salt). Voici le code à utiliser donc pour bien crypter vos mots de passes:
- Code:
-
// Création d'un utilisateur de test $user = new User(); // Mot de passe en clair $password = "monmdp"; // Génération d'un salt $salt = md5(time()); // On récupère le service servant à encoder les mots de passe, on récupère la méthode de hashage situé dans le security.yml et on encode le mot de passe avec le salt $password = $this->get('security.encoder_factory')->getEncoder($user)->encodePassword('test', $salt); // On modifie le mot de passe utilisateur $user->setPassword($password);
|
|
w8ing
Admin
Age : 32
Date d'inscription : 04/10/2008
Messages : 46
Localisation : Mystère
|