2011-04-21 32 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