>데이터 베이스 >MySQL 튜토리얼 >AES_DECRYPT가 MySQL에서 암호화된 데이터를 반환하는 이유는 무엇입니까?

AES_DECRYPT가 MySQL에서 암호화된 데이터를 반환하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-10 13:46:03683검색

Why is AES_DECRYPT Returning Encrypted Data in MySQL?

MySQL에서 AES_ENCRYPT 후 암호화된 데이터를 해독할 수 없습니다

문제 설명:

암호화 후 MySQL 테이블에서 AES_ENCRYPT를 사용하는 데이터, AES_DECRYPT를 사용하여 데이터를 해독하려고 시도하면 해독된 값을 볼 수 없게 됩니다.

해결책:

MySQL에 따라 수동, AES_DECRYPT는 암호 해독 후 원래 문자열을 반환하기 위한 것입니다. 그러나 사용자는 해독된 값이 여전히 이진 문자열로 반환되는 것을 관찰하고 있습니다. 이 문제를 해결하려면 사용자는 CAST 함수를 사용하여 해독된 문자열을 문자열로 캐스팅해야 합니다.

예를 들어 다음 쿼리는 해독된 first_name 열을 50자 문자열로 캐스팅합니다.

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

그러면 사용자는 first_name_decrypt 열을 사용하여 해독된 데이터를 읽을 수 있는 형식으로 볼 수 있습니다.

위 내용은 AES_DECRYPT가 MySQL에서 암호화된 데이터를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.