所以我在PHP中使用mcrypt_encrypt来加密进入我数据库的一些数据。
它似乎之前加密的价值现在与今天加密(用于检查)的价值不同。
例如......
1234最初加密到4321并放入数据库。
1234现在再次加密,我希望它加密到4321,以便它可以匹配数据库中的加密。除此之外,1234现在被加密到2314,因此它无法在数据库中找到4321。
加密功能完全相同,并且没有改变。盐是一样的。
以下是否有可能在不同时间返回不同的结果?
trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
我可能会补充一点,无论加密到什么,它们实际上都会正确解密到相同的原始值。但这对检查数据库中的(加密)值没有帮助。