那里有更简单的加密/解密哈希算法吗?

时间:2016-01-26 15:53:13

标签: php encryption hash

我已经阅读过这个伟大的论坛和其他几个地方,如果不是不可能用md5解密那么困难。

不幸的是,我使用md5来哈希用户的密码:

 // hash to sanitize the input further
$password = md5($password);

现在,我有点麻烦,因为无法记住密码的用户无法使用我们的恢复密码功能。

当他们尝试恢复密码时,他们会收到加密密码,这对他们来说是无用的,因为他们无法使用密码。

考虑到难度,几乎不可能解密md5哈希,是否有更简单的加密/解密机制,有人可以建议我尝试?

现在几乎在热水中。

1 个答案:

答案 0 :(得分:4)

  

不幸的是,我使用md5来获取用户的密码

不幸怎么样?这就是你所想要的。用户密码应该在单向哈希后面隐藏,并且 anybody 无法恢复。您甚至不是系统所有者/管理员。

  

无法记住密码的用户无法使用我们的恢复密码功能

应该没有这样的东西作为“恢复密码功能”。它被称为“重置密码功能”。您可以以管理方式更改用户密码。但是从不 永远 能够读取

  

当他们尝试恢复密码时,他们会收到加密密码,这对他们来说是无用的,因为他们无法使用密码。

但攻击者 可以使用 。这就是为什么你不应该首先将它发送给任何人

  

是否有更简单的加密/解密机制,有人可以建议我尝试?

是不是简单得多:

md5($password)

这是一个函数调用。五次击键。使用非常简单。因为你已经在使用它,所以你很好。

一旦停止发布密码哈希值,您将全部处理用户密码(至少就我们所知)。保持伟大的工作!有的服务,其中没有正确地模糊用户密码。感谢您至少尝试过它。

注意:正如用户所指出的那样(这些天比我更熟悉PHP的用户),直接使用md5()右边的一步方向,这不是你可能做的最好的。

相反,请看一下PHP内置的password handling functionality。 (或者,如果您使用较旧的5.5之前版本的PHP,那么compatibility pack会保留相同的功能。)Jay Blanchard撰写了一篇关于其使用here的方便文章。

概念是相同的,通过单向散列来模糊用户密码。但是工具发展很快。