Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour a tous
J'aimerai tester l'égalité entre un mot de passe enregistré dans la base de données en format MD5 et un autre qui a été saisie a partir du clavier. Le problème est comment décrypté celui dans la base de données
if($utilisateurForm->isValid($_POST)) {
$auth = Zend_Auth::getInstance();
$identity = $auth->getIdentity();
$password = $identity->password; if($utilisateurForm->getValue('password')==$password)
{
$this->_redirect('/utilisateur/changer');
}
else{$this->view->msgerr = "Password incorrect"; }
}
et merci d'avance
Dernière modification par Mounir85 (30-04-2011 12:32:08)
Hors ligne
Bonjour ;
Je ne sais pas de quel cas d'utilisation il s'agit ici mais bon...
Pour rappel, le hash MD5 est une fonction irréversible, ce qui signifie qu'il n'existe pas d'algorithme ou de fonction permettant de retrouver la chaîne d'origine à partir de son HASH*. Il faut donc faire le contraire:
[lang=php] $plaintextPasswordFromForm = 'password'; $hashedPasswordFromDatabase = '5f4dcc3b5aa765d61d8327deb882cf99'; if(md5($plaintextPasswordFromForm) === $hashedPasswordFromDatabase) { echo 'passwords matches'; } else { echo 'passwords doesn\'t matches!'; }
Cordialement;
Note: Voir aussi Zend_Auth_Adapter_DbTable pour une meilleur intégration avec le processus d'authentification.
* Bien entendu, il reste possible d'utiliser un dictionnaire ou autre méthode pour tenter de retrouver la chaîne d'origine d'un hash. Voir ici pour plus d'explications : http://www.authsecu.com/decrypter-dechi … sh-md5.php
Dernière modification par nuxwin (30-04-2011 13:27:21)
Hors ligne
En fin ça marche bien merciiiiiii beaucouuuuuuup nuxwin
Hors ligne