Bonjour,
j'ai un problème avec le cryptage de mon mot de passe (je sais qu'il existe d'autre méthode plus approprié que md5, mais en occurrence, le problème n'est pas là).
Mon mot de passe crypté en BDD n'est pas celui que je devrais avoir.
Je crée un user que j'insère en base par le biais d'un Manager dont voici le code essentiel.
Les constantes utilisés ici sont les suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function __construct(){ $this->db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8',DB_USER,DB_PWD); $this->classname = "User"; } //insert an user into db function insertUser($user){ $request="INSERT INTO users values(".$user->toString().")"; $res=$this->db->query($request); if(!$res){ return false; }else{ return true; } } $s_admin=new User(1,FIRST_S_ADMIN_LOGIN,FIRST_S_ADMIN_MDP,'SUPER_ADMIN'); $res=$this->insertUser($s_admin);
Il s'agit d'un login/mdp destiné à être changé dès la première connexion au backend à l'installation du site, mais passons ça n'a pas vraiment d'importance ici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 define('FIRST_S_ADMIN_LOGIN','admin_myor'); define('FIRST_S_ADMIN_MDP','admin_myor');
Dans ma classe User, voici la méthode toString et setPassword
Le problème c'est que le md5 de FIRST_S_ADMIN_MDP vaut b56a77495c197cfc519468e75fd08342 (vérifié avec un var_dump du md5 de la constante)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function setPassword($password){ $this->user_password=md5($password); } //return the string value for insertion function toString(){ return "'".$this->getId()."',"."'".$this->getLogin()."','".$this->getPassword()."','".$this->getRole()."'"; }
Or, quand je regarde en BDD, dans ma colonne password, j'ai ceci bc3d54bd2d8e9fa615efea29dcb03495
Je ne comprends donc pas pourquoi puisque setPassword utilisé dans le constructeur de la classe user utilise md5 également.
Merci pour votre aide, j'avoue être un peu perdu.
Partager