如何在mysql中解密密码?

时间:2019-12-30 23:11:50

标签: mysql bcrypt

我在我的网站上创建了一个用户,但后来忘记了密码。我试图重设密码,但出现错误。然后我尝试在数据库中看到它,但是密码已加密。这是密码:

  

$ 2y $ 10 $ 2bPXVJ3xkUSHJcZ1sc.bIunwJ9ROjPwkyRFfdO3pM9E0ghM7Tqyui

有人知道如何解密吗?

3 个答案:

答案 0 :(得分:3)

您不能。

这就是以这种方式存储它的全部要点。您不应该能够看到其他人的密码。曾经如果不能,那么黑客也不能。

相反,请着重使用密码重置功能解决错误。

在此期间,尽管您可能需要了解特定应用程序存储密码的方式才能正确使用密码,但是您可以使用SQL语句来设置新密码。它看起来像一个crypt_blowfish字符串,这意味着您的Web应用程序负责生成用于存储的哈希密码,并且您必须完全复制该机制(包括盐)才能使其正常工作。

答案 1 :(得分:2)

不能。该密钥未经加密,已用Bcrypt进行了散列,有意地很难进行暴力破解。

这是单向操作。无法撤消。

您可以:

  • 使用管理员(root)帐户更新此密码。
  • 以恢复模式引导数据库,该模式绕过身份验证检查,然后重设密码。然后重新启动进入正常模式。

答案 2 :(得分:0)

好吧...该怎么办,不可能恢复。

您可以尝试查看所使用的加密方式,但是您可能必须尝试另一种方法:

  • 像这样更新您的密码:

UPDATE user SET pass = PASSWORD("newpass");

编辑:可能是使用此function

加密的

或者使用MD5加密(最有可能) UPDATE user SET pass = MD5("newpass");

尝试查看使用了哪种加密并进行复制