php 的password_hash 原理是什么

发布于 2022-09-04 15:21:33 字数 68 浏览 39 评论 0

如题,php 中的 password_hash 加密密码时如果采用随机盐值, 那么验证密码的时候是如何确定密码对应的盐值的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

输什么也不输骨气 2022-09-11 15:21:33

clipboard.png
注意 password_hash() 返回的哈希包含了算法、 cost 和盐值。 因此,所有需要的信息都包含内。使得验证函数不需要储存额外盐值等信息即可验证哈希。
<?php
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (password_verify('test', $hash)) {

echo 'Password is valid!';

} else {

echo 'Invalid password.';

}
?>

‖放下 2022-09-11 15:21:33

密码其实可以分开两段,前面一段就是salt

行至春深 2022-09-11 15:21:33

通过password_verify()来验证,传入密码和存储的哈希值,若正确返回一个布尔值 TRUE,否则返回 FALSE

if (password_verify($password, $hash)) {
    // Correct Password
}
<逆流佳人身旁 2022-09-11 15:21:33

很简单。。。需要把salt一同存到数据库。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文