为了账号安全,请及时绑定邮箱和手机立即绑定

关于PHP的password API的一点疑问

关于PHP的password API的一点疑问

PHP
哆啦的时光机 2019-03-08 00:28:11
PHP 自带的password api中有两个函数password_hash和password_verify.password_hash对同一字符串每次取得的哈希值是不一样的,但是我们任然可以通过password_verify来判断字符串是否一样,我想知道这里面的原理,还请各路大神赐教
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

https://img1.sycdn.imooc.com//5c8f53f90001ecd008000284.jpg
加密之后有两段,前面的是颜值,后面的是加密后的,

查看完整回答
反对 回复 2019-03-18
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

password_hash() 返回的散列包含了算法、 cost 和盐值
password_verify()只是再算一遍。

查看完整回答
反对 回复 2019-03-18
?
GCT1015

TA贡献1827条经验 获得超4个赞

$passwordHash = password_hash('123456', PASSWORD_DEFAULT);
// $passwordHash 也可以是从数据库查询出来的数据,如通过唯一用户名,查出该用名hash后密码

if (password_verify('123456', $passwordHash)) {
    echo 'success';
} else {
    echo 'fail';
}
查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 454 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信