Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi AES_DECRYPT renvoie-t-il une chaîne binaire au lieu d'un texte brut dans MySQL ?

Susan Sarandon
Libérer: 2024-11-11 03:50:02
original
365 Les gens l'ont consulté

Why does AES_DECRYPT return a binary string instead of plaintext in MySQL?

Cryptage et décryptage AES à l'aide des fonctions MySQL

Lorsque vous travaillez avec des données sensibles, le cryptage devient crucial pour protéger les informations contre tout accès non autorisé. MySQL fournit diverses fonctions de cryptage, notamment AES_ENCRYPT et AES_DECRYPT, pour protéger les données. Cependant, certains utilisateurs rencontrent des difficultés lorsqu'ils tentent de déchiffrer après chiffrement à l'aide de ces fonctions.

Problème :

Lors de l'interrogation d'une ligne d'une table à l'aide de AES_DECRYPT après l'avoir chiffrée avec AES_ENCRYPT, le résultat peut apparaître sous la forme d'une chaîne binaire plutôt que comme prévu texte en clair.

Solution :

Selon la documentation MySQL, AES_DECRYPT devrait renvoyer la chaîne d'origine après le décryptage. Cependant, il peut y avoir des situations dans lesquelles il renvoie quand même une chaîne binaire.

Le code suivant illustre une solution de contournement à ce problème :

SELECT *,
       CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt
FROM   user
Copier après la connexion

En convertissant explicitement la valeur déchiffrée en un type de caractère à l'aide de CAST(), vous pouvez vous assurer qu'il est affiché sous forme de chaîne lisible. Utilisez la colonne first_name_decrypt dans vos requêtes pour récupérer le texte brut déchiffré au lieu de la colonne first_name d'origine.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal