AES_Encrypt:密码自动重置

时间:2011-04-21 04:40:14

标签: aes

我正在使用AES_Encrypt('123456',2)以加密格式将我的密码存储在db中。

我注意到一段时间后,存储在db中的密码会自动重置为NULL。我已经使用AES_Decrypt交叉检查了这个。

我不知道为什么会这样。我没有在代码中的任何地方更新我的密码。然后我想知道怎么来,什么时候密码重置。它与AES_Encrypt有什么关系吗?

1 个答案:

答案 0 :(得分:0)

假设您指的是MySQL AES_ENCRYPT和AES_DECRYPT例程,我将引导您转到reference,其中指出

  

AES_ENCRYPT()加密字符串并返回二进制字符串。 AES_DECRYPT()解密加密的字符串并返回原始字符串。输入参数可以是任何长度。如果任一参数为NULL,则此函数的结果也为NULL。

     

如果AES_DECRYPT()检测到无效数据或填充不正确,则返回NULL。但是,如果输入数据或密钥无效,则AES_DECRYPT()可能返回非NULL值(可能是垃圾)。

是否可能会为您的任何一个函数提供无效数据或填充错误?

此外,AES_ENCRYPT函数可以将数据填充到特定长度。确保您没有截断以适合您的数据库