Si l'un de vos programmes utilise la fonction PASSWORD() de mySQL 4.0, celle ci a été modifiée pour améliorer la sécurité depuis la version mySQL 4.1 donc cette fonction ne renvoit plus le même hashage qu'avant. Si vous désirez continuer à utiliser cette fonction, vous devrez soit modifier votre programme pour utiliser OLD_PASSWORD() soit réencoder les mots de passe non cryptés avec PASSWORD().
Avant :
SELECT * FROM table WHERE pass=PASSWORD('motdepasse')
Après :
SELECT * FROM table WHERE pass=OLD_PASSWORD('motdepasse')
La fonction PASSWORD() est utilisée pour l'identification à mySQL, il n'est pas recommandé d'utiliser ce type d'encodage de mot de passe sur un programme de type PHP, PERL... Il est recommandé d'utiliser les fonctions ENCRYPT(), MD5() ou SHA1() comme la plupart des CMS.
ENCRYPT :
SELECT * FROM table WHERE pass=ENCRYPT('motdepasse')
MD5 :
SELECT * FROM table WHERE pass=MD5('motdepasse')
SHA1 :
SELECT * FROM table WHERE pass=SHA1('motdepasse')
Plus d'informations : http://dev.mysql.com/doc/mysql/fr/Encryption_functions.html