1

我在 cpanel 服务器上有一个数据库,其中包含一个名为“密码”的用户字段。当我通过 phpmyadmin 查看该字段时,所有密码都显示为 md5 加密。

例如,密码“12345”将被加密并在数据库中显示为“e10adc3949ba59abbe56e057f20f883e”。现在,在原始服务器上,没关系,因为即使密码在数据库中加密,当我在相关网站上输入密码为“12345”时,它会识别它并提供访问权限。

问题是当我导出和导入数据库时​​。将同一个数据库导入另一台服务器后,密码值自然仍然在数据库中加密。但是,当我尝试登录相关网站时,解密后的密码,即“12345”不再起作用。我必须输入密码为“e10adc3949ba59abbe56e057f20f883e”,然后才能登录。所以我猜问题是密码列中的数据在导入另一个数据库后没有被解密,因此当我输入“12345”而不是扩展的 md5 值时,它不匹配并给我一个错误的密码错误.

那么有人可以帮我解决这个问题吗?我应该将这个网站迁移到另一台服务器上,它是一个学校系统,由于这个问题,目前我的用户都没有访问权限。

谢谢。

4

1 回答 1

2

md5 不是加密,它是一种单向哈希。您无法从哈希中找到原始值。

在第二台服务器上,如果 e10adc3949ba59abbe56e057f20f883e 密码有效,我看到的唯一原因是应用程序没有比较它从用户那里收到的输入值的哈希值,而是比较输入值本身。

于 2013-08-26T10:41:25.717 回答