Home  >  Article  >  Database  >  Why is AES_DECRYPT Returning Encrypted Data in MySQL?

Why is AES_DECRYPT Returning Encrypted Data in MySQL?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 13:46:03637browse

Why is AES_DECRYPT Returning Encrypted Data in MySQL?

Unable to Decrypt Encrypted Data After AES_ENCRYPT in MySQL

Problem Statement:

After encrypting data using AES_ENCRYPT in a MySQL table, an attempt to decrypt the data using AES_DECRYPT results in an inability to view the decrypted value.

Solution:

As per the MySQL Manual, AES_DECRYPT is intended to return the original string after decryption. However, the user is observing that the decrypted value is still being returned as a binary string. To resolve this issue, the user should try casting the decrypted string as a character string using the CAST function.

For example, the following query will cast the decrypted first_name column as a 50-character string:

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

The user can then use the first_name_decrypt column to view the decrypted data in a readable format.

The above is the detailed content of Why is AES_DECRYPT Returning Encrypted Data in MySQL?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn