Bonjour,
Dans ma table des utilisateurs ('membres'), les mots de passe sont cryptés avec la fonction MySQL AES_ENCRYPT (je ne peux pas changer cela).
Le problème est que je n'arrive pas à contrôler si le mot de passe entré par un utilisateur est correct, car la fonction AES_ENCRYPT ne fonctionne pas... ou alors je m'y prend mal.
Voici le code ($login, $password et $key sont données bien sur) :
et l'erreur est : Call to undefined function AES_ENCRYPT()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $q = Doctrine_Query::create() ->select('m.*') ->from('Membres m') ->where('m.membre_login = ?', $login) ->andWhere('m.membre_password = ?', AES_ENCRYPT($password, $key)); $row = $q->execute();
de même le code suivant abouti à une erreur :
L'erreur est : Unknown aggregate alias: maCleDeCryptage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $q = Doctrine_Query::create() ->select('m.*') ->from('Membres m') ->where('m.membre_login = ?', $login) ->andWhere('AES_DECRYPT(m.membre_password, '.$key.') = ?', $password); $row = $q->execute();
Comment faire?
Partager