Maison > Article > base de données > Pourquoi AES_DECRYPT() renvoie-t-il un résultat vide dans MySQL ?
Dépannage de l'échec d'AES_DECRYPT dans MySQL
Lorsque vous essayez de décrypter des données précédemment chiffrées avec AES_ENCRYPT(), vous pouvez rencontrer un problème où AES_DECRYPT() renvoie un résultat vide. Cela peut être frustrant, car vos données cryptées restent inaccessibles.
Selon la documentation MySQL, AES_DECRYPT() devrait renvoyer la chaîne d'origine après avoir déchiffré une chaîne cryptée. Cependant, dans certains cas, elle peut renvoyer une chaîne binaire à la place.
Pour résoudre ce problème, essayez ce qui suit :
SELECT *, CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt FROM user
Cette requête utilise la fonction CAST() pour convertir le contenu déchiffré. chaîne binaire en une chaîne CHAR, qui peut être affichée correctement. Au lieu d'utiliser "first_name" dans vos requêtes ou applications ultérieures, utilisez "first_name_decrypt" pour accéder aux données décryptées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!