집 >데이터 베이스 >MySQL 튜토리얼 >AES_DECRYPT가 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!