Maison  >  Article  >  base de données  >  Pourquoi AES_DECRYPT() renvoie-t-il un résultat vide dans MySQL ?

Pourquoi AES_DECRYPT() renvoie-t-il un résultat vide dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-11 09:21:03636parcourir

Why Does AES_DECRYPT() Return an Empty Result in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn