Bonsoir,
Je cherche à créer un système d'inscription au site, seulement il semblerait que le password haché ne corresponde pas avec ce qui a été entré lors de l'enregistrement.
Je m'explique : lorsque j'ai crée le compte admin, je l'ai entré directement via le controller :
$data = array();
$data'User']'username'] = 'admin';
$data'User']'password'] = 'power';
$data'User']'lvl'] = "0";
$this->User->save($data);
Pour le joueur je suis passé par un formulaire dans la vue :
//model user.php
<?php
class User extends AppModel {
var $name = 'User';
function beforeSave() {
$this->data"User"]"password"] = Security::hash($this->data"User"]"password"], null, true);
return true;
}
}
?>
//controller users_controller.php
function add_user() {
if ($this->Session->read("Auth.User.lvl") >= 2)
{
if (!empty($this->data)) {
if ($this->User->save($this->data)) {
$this->redirect("/");
}
}
} else {
$this->redirect("/");
}
}
//view add_user.ctp
<?php
echo $form->create('User', array('url' => array('action' => 'add_user')));
echo $form->input("username", array("label" => "", "value" => "Login"));
echo $form->input("password", array("label" => "", "value" => ""));
echo $form->end("Send");
?>
Comparaison des deux hachages pour un password identique ("power") :
Hachage admin : 612c189487998593aee716f92a0d7b1470157f62
Hachage player : 11d1d73b087c2e251269287bf3f4897113b1990a
Comment c'est possible? Avez-vous une idée?
Merci !
Je viens de comprendre, c'était tout bête : le hachage était différent puisque c'est le hachage du hachage originel, le password de player a été haché 2x. J'ai donc supprimé le beforeSave du model.