多次哈希密码

时间:2017-08-20 10:59:04

标签: php password-hash

如果我哈希两次密码:

$psw1= password_hash($password,PASSWORD_DEFAULT);
$psw2=password_hash($psw1,PASSWORD_DEFAULT);

这更安全还是没用?

P.S。:我是php的新手

2 个答案:

答案 0 :(得分:5)

这会阻止您验证密码,因为您无法重现第一个哈希,因为您已经丢弃了第一个哈希的随机盐。相反,为了提高单个哈希的安全性,只需调整其成本因子:

password_hash($password, PASSWORD_DEFAULT, ['cost' => 12])

成本越高,散列的次数越多。选择一个不会过度减慢过程的成本,但也不会太低。实际上,随着更好的服务器硬件可用,您应该随着时间的推移不断增加成本因素​​,并使用更强大的算法重新扫描用户密码。这具体是password_needs_rehash的用途。

答案 1 :(得分:-2)

我认为没有用,因为一旦打破它就不可能知道真正的价值是什么......至少在说起话题。

我建议使用像sha512或ripemd320这样的强哈希函数,因为没有太多公开的可用数据库存储散列密码。

如果您想了解更多信息,我已经在stackoverflow上找到了一个老答案:PHP dehashing the password

相关问题