2011-04-21 67 views
-1

我正在使用AES_Encrypt('123456',2)以加密格式將密碼存儲在數據庫中。 我注意到,一段時間後,存儲在數據庫中的密碼自動重置爲NULL。我通過使用AES_Decrypt進行了交叉檢查。 我不知道爲什麼會發生這種情況。我沒有更新我的密碼在代碼中的任何地方。然後我想知道密碼是什麼時候到來以及什麼時候重置。它與AES_Encrypt有什麼關係。AES_Encrypt:自動重置密碼

感謝, 約傑什喬杜裏

+0

這是特定的「AES_Encrypt」從我們應該知道的特定庫?你需要充實一下這個問題。 – 2011-04-21 04:42:42

回答

0

假設你是指到MySQL AES_ENCRYPT和AES_DECRYPT程序我將引導您到其中指出

AES_ENCRYPT()加密的字符串,並返回該reference二進制串。 AES_DECRYPT()解密加密的字符串並返回原始字符串。輸入參數可以是任意長度。如果任一參數爲NULL,則此函數的結果也爲NULL。

如果AES_DECRYPT()檢測到無效數據或不正確的填充,它將返回NULL。但是,如果輸入數據或密鑰無效,AES_DECRYPT()可能返回非NULL值(可能是垃圾)。

是否有可能獲得無效數據或不正確的填充函數?

編輯:此外,AES_ENCRYPT函數可能會將數據填充到特定長度。確保你沒有截斷,以適應你的數據庫

HTH