我不太了解散列密码,但我想知道。我想知道以下算法对于没有信用卡信息或类似信息的普通网站有多好,我也想知道如何改进它。 算法是:
hash('sha512', crypt(hash('whirlpool', $password.$username), base64_encode(md5(strlen($password)))))
最佳答案
不要混合超过一个散列,每个散列都经过优化以使其自身发挥最佳效果。
根据您使用该散列的目的,将 $password 放入其中也是一个非常糟糕的主意。如果它存储在用户的计算机上,就像在 cookie 中一样。你不想在那里。
如果您将散列存储在数据库中,您还可以通过在使用散列算法之前添加一个动态随机字符串来使其变得更好。然后将为用户每次访问生成一个新的哈希值。
关于php - 密码哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785172/