Maison >base de données >tutoriel mysql >Pourquoi mon décryptage MySQL AES renvoie-t-il des résultats vides ?

Pourquoi mon décryptage MySQL AES renvoie-t-il des résultats vides ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-13 06:07:02548parcourir

Why Does My MySQL AES Decryption Return Blank Results?

Dépannage des problèmes de décryptage AES dans MySQL

Lorsque vous travaillez avec des données cryptées dans MySQL, il est essentiel de comprendre les fonctions de cryptage et de décryptage disponibles. Cet article aborde le problème de l'obtention de résultats vides lors d'une tentative de déchiffrement de données cryptées à l'aide du cryptage AES.

Dans MySQL, les fonctions AES_ENCRYPT et AES_DECRYPT fonctionnent sur des chaînes binaires. Le comportement prévu est qu'AES_DECRYPT renvoie les données déchiffrées sous forme de chaîne. Cependant, dans certains scénarios, les données déchiffrées peuvent toujours être au format binaire, conduisant à des affichages de résultats vides.

Pour remédier à ce problème, le manuel MySQL recommande d'utiliser la fonction CAST() pour transformer explicitement la chaîne binaire déchiffrée. dans une chaîne de caractères. Voici comment cela peut être implémenté :

SELECT *,
       CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) AS first_name_decrypt
FROM   user

Dans cette requête, la colonne prénom déchiffrée est convertie en une chaîne de caractères d'une longueur maximale de 50 caractères. Cela garantit que les données déchiffrées sont affichées sous forme de chaîne de texte lisible.

En suivant cette approche, vous pouvez réussir à décrypter et afficher les données cryptées dans votre table. N'oubliez pas d'ajuster la longueur des caractères dans la fonction CAST() si nécessaire en fonction de la longueur attendue de vos 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