En règle générale, il n'est pas nécessaire de chiffrer à l'envers un mot de passe. Avoir cette capacité diminue intrinsèquement la sécurité du système. Utilisez plutôt une fonction de hachage irréversible. Je suggère SHA-256 (ou plus) qui produit un résultat de chaîne :
SHA2 (CONCAT (user.name, user.password, 'some salt', user.id), 256)
J'ai également frustré le vrac tableaux arc-en-ciel de toute utilité en ajoutant d'autres données toujours connues au moment de la validation du mot de passe.
SHA2
nécessite MySQL 5.5 ou version ultérieure. Si vous utilisez une version antérieure, SHA1()
est presque aussi bon, et généralement bien meilleur que MD5
, AES
, etc.