PHP md5每次生成不同的哈希值


PHP md5 generating different hash each time

我有一个存储md5 'ed密码的表单。

出于测试目的,我使用"12345"作为密码。

保存密码,我使用:$password = md5($password);

使用相同的代码和相同的密码,PHP每次创建不同的md5哈希,尽管我每次使用相同的密码。

你知道为什么会这样吗?

这是不可能的md5(),哈希将永远改变给定的文本,这绝对是错误的与你的实现。

两种失效情况

  • 可能您正在一次又一次地将md5()散列密码作为参数传递给md5()函数。

  • 可能有一些空白被添加到您的$password。只需按如下所示trim()即可。

    $password = md5(trim($password));

    记住:即使一个空格也可以改变你的哈希值