2011-04-21 5 views
-1

AES_Encrypt ('123456', 2)를 사용하여 암호를 암호화 된 형식으로 db에 저장합니다. 잠시 후 db에 저장된 암호가 자동으로 NULL로 재설정됩니다. AES_Decrypt를 사용하여 교차 검사했습니다. 나는 왜 이런 일이 일어날 지 모르겠다. 나는 암호를 어디에서나 업데이트하고 있지 않다. 그런데 암호가 언제 어떻게 재설정되는지 궁금하다. AES_Encrypt와 관련이있다.AES_Encrypt : 암호가 자동으로 재설정됩니다.

감사합니다, 인 Yogesh 차우

+0

이 특정 "AES_ENCRYPT"가 데이터베이스에 맞도록 절단되지 않도록? 이 질문에 약간의 육체가 필요합니다. –

답변

0

당신은 MySQL AES_ENCRYPT 및 AES_DECRYPT 루틴 언급하는 것을 가정 내가

AES_ENCRYPT()는 문자열을 암호화하고를 반환하는 내용의 reference로 안내합니다 이진 문자열. AES_DECRYPT()는 암호화 된 문자열을 암호 해독하고 원래 문자열을 반환합니다. 입력 인수는 길이가 될 수 있습니다. 인수 중 하나가 NULL이면이 함수의 결과도 NULL입니다.

AES_DECRYPT()가 잘못된 데이터 또는 잘못된 패딩을 발견하면 NULL을 반환합니다. 그러나 AES_DECRYPT()가 입력 데이터 또는 키가 유효하지 않은 경우 NULL이 아닌 값 (가비지 일 수도 있음)을 반환하는 것이 가능합니다.

기능 중 하나가 잘못된 데이터 또는 잘못된 패딩과 함께 제공 될 수 있습니까?

편집 : 또한 AES_ENCRYPT 함수는 데이터를 특정 길이만큼 채울 수 있습니다. 당신은 우리가 알아야 특정 라이브러리에서

HTH

관련 문제