Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment utiliser AES_ENCRYPT correctement ?

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.