代码之家  ›  专栏  ›  技术社区  ›  har00n86

导入数据库后出现phpmyadmin md5解密问题

  •  1
  • har00n86  · 技术社区  · 12 年前

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

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

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

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

    谢谢

    1 回复  |  直到 12 年前
        1
  •  2
  •   Marc Delisle    12 年前

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

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