多次哈希密码

A. *_*ssi -2 php password-hash

如果我哈希两次密码:

$psw1= password_hash($password,PASSWORD_DEFAULT);
$psw2=password_hash($psw1,PASSWORD_DEFAULT);
Run Code Online (Sandbox Code Playgroud)

这更安全还是没用?

PS:我是php的新手

dec*_*eze 5

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

password_hash($password, PASSWORD_DEFAULT, ['cost' => 12])
Run Code Online (Sandbox Code Playgroud)

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