gpt4 book ai didi

php - 比较以前的 ENCRYPT() 调用和新的 ENCRYPT() 调用 mysql

转载 作者:行者123 更新时间:2023-11-29 01:01:36 28 4
gpt4 key购买 nike

我正在使用 ENCRYPT() 函数在 mysql 中存储一个字符串。我想获取匹配该字符串的行,但新的 ENCRYPT() 调用给了我一个不同的值,因此它们永远不会匹配。

这是预期的,因为我没有(也不能)给它一个一致的 salt: http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_encrypt

If no salt argument is given, a random value is used.

这是我正在运行的返回空的查询:

SELECT * FROM `table` WHERE ENCRYPT('string') = `enc_string`

我知道这是可能的,因为这是由第 3 方应用程序使用的,但我无法在他们执行此操作的地方找到他们的查询。有没有办法强制 ENCRYPT 使用之前的盐,或者预测它?

最佳答案

如果您使用不加盐的 encrypt(),则会生成随机盐(2 个字母)并将其添加到加密字符串中。

在后续调用中,您需要将相同的盐传递给 ENCRYPT。您可以将整个加密字符串作为盐传递,

   encrypt(user_input, encrypted_password) = encrypted_password

关于php - 比较以前的 ENCRYPT() 调用和新的 ENCRYPT() 调用 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2770479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com