database - 导入数据库后phpmyadmin md5解密问题

标签 database encryption phpmyadmin md5 database-migration

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

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

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

那么谁能帮我解决这个问题呢?我应该将这个网站迁移到另一台服务器上,它是一个学校系统,由于这个问题,目前我的用户都无法访问。

谢谢。

最佳答案

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

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

关于database - 导入数据库后phpmyadmin md5解密问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18441590/

相关文章:

ios - 使用sqlite3 sqlcipher DB,如何? (iOS)

php mcrypt 三元组的 python 等效项

mysql - 使用 phpmyadmin 的 mySQL INNER JOIN 语法

mysql - 无法设置关系 phpmyadmin

c# - LINQ/lambda : How can I query a DB table based on information from another table?(多对多关系)

sql - 远程连接到 DerbyDB

encryption - SSH:登录时,密码是否为明文/可嗅探?

mysql - phpmyadmin 更新 m 到 n 关系表以从单独的表中删除重复项

android - 如何将Android SQLite数据库存储在sdcard中

java - 最快的 Java 自由可再发行数据库