password_hash returns 每次都不同的值
password_hash returns different value every time
我正在制作一个登录系统,我想对密码进行哈希处理以使其更安全,但它 returns 每次都是不同的哈希值,甚至无法使用 [=18 进行验证=](),这是我的代码:
$password = password_hash($password4, PASSWORD_DEFAULT);
这是我的验证代码:
if(password_verify($password4, $dbpassword))
所以让我们一次一个地讲它
but it returns a different hash every time
就是这个主意。 password_hash
旨在每次生成随机盐。这意味着您必须单独分解每个散列,而不是猜测用于所有内容的一种盐并且有很大的优势。
无需 MD5
或进行任何其他哈希处理。如果你想提高 password_hash
的安全性,你传递一个更高的成本(默认成本是 10)
$password = password_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]);
至于验证
if(password_verify($password4, $dbpassword))
所以 $password4
应该是您未经过哈希处理的密码,$dbpassword
应该是您存储在数据库中的哈希值
我正在制作一个登录系统,我想对密码进行哈希处理以使其更安全,但它 returns 每次都是不同的哈希值,甚至无法使用 [=18 进行验证=](),这是我的代码:
$password = password_hash($password4, PASSWORD_DEFAULT);
这是我的验证代码:
if(password_verify($password4, $dbpassword))
所以让我们一次一个地讲它
but it returns a different hash every time
就是这个主意。 password_hash
旨在每次生成随机盐。这意味着您必须单独分解每个散列,而不是猜测用于所有内容的一种盐并且有很大的优势。
无需 MD5
或进行任何其他哈希处理。如果你想提高 password_hash
的安全性,你传递一个更高的成本(默认成本是 10)
$password = password_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]);
至于验证
if(password_verify($password4, $dbpassword))
所以 $password4
应该是您未经过哈希处理的密码,$dbpassword
应该是您存储在数据库中的哈希值