扫码关注官方订阅号
如题,php 中的 password_hash 加密密码时如果采用随机盐值, 那么验证密码的时候是如何确定密码对应的盐值的
注意 password_hash() 返回的哈希包含了算法、 cost 和盐值。 因此,所有需要的信息都包含内。使得验证函数不需要储存额外盐值等信息即可验证哈希。<?php$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('test', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}?>
密码其实可以分开两段,前面一段就是salt
很简单。。。需要把salt一同存到数据库。。。
salt
通过password_verify()来验证,传入密码和存储的哈希值,若正确返回一个布尔值 TRUE,否则返回 FALSE
if (password_verify($password, $hash)) { // Correct Password }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
注意 password_hash() 返回的哈希包含了算法、 cost 和盐值。 因此,所有需要的信息都包含内。使得验证函数不需要储存额外盐值等信息即可验证哈希。
<?php
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('test', $hash)) {
} else {
}
?>
密码其实可以分开两段,前面一段就是salt
很简单。。。需要把
salt一同存到数据库。。。