查询带有 md5 版本 id 的字段

Query a field wiith md5 version of id

已编辑以添加更多信息

我需要使用 mysql 的 md5 函数来 select 使用它的 id 字段 (uid) 的项目。我的用户有一个单独的数据库,名为 recover_db,其中包含用户 ID 的 md5 散列值和时间戳。

目前用户访问link是这样的:

recover-MD%HASHEDUSERID.html

然后系统从 url 中获取 MD%HASHEDUSERID 并检查它是否存在于 recover_db 中,如果存在则让他们恢复帐户。还有一些其他的安全和诸如此类的东西,但我没有将用户 ID 存储在 recover_db 中,只是它的 MD5 值。我使用以下方法来做到这一点:

md5(90*13/12*56+$id)

现在我需要检查用户数据库并使用我保存的 md5 值获取真实帐户 ID。我使用以下查询来执行此操作:

$query = "SELECT uid FROM users where md5(90*13/12*56+uid)='".$md5accID."'";

很遗憾,这没有返回任何结果。有什么方法可以使用 recover_db 中的 md5 版本从 users 数据库中获取真实用户 ID?如果可以的话,我想避免将用户 ID 存储在 recover_db 中。

将原始用户 ID 与恢复数据库中的散列 (hasheduid) 一起保存在字段 origuid 中。然后做

$query = "SELECT origuid FROM users where hasheduid='".$md5accID."'";

检索原始用户 ID。