接手了一个laravel项目, 修改密码时需要验证密码,
在注册的方法看到 是使用的bcrypt
方法加密的密码
但是同样把新密码用bcrypt加密后与数据库的密码对比发现不相等,
搜了下, 果然bcrypt 加密时加盐了,
就只好使用 Auth::attempt
方法验证密码是否正确, 这个方法验证成功后就给当前用户赋予了登录状态,
所以还要用Auth::logout()
注销登录状态,
随着验证密码的地方越来越多, 就在网上找了下, 虽然bcrypt
不可以解密 , 同样方法加密的值又不一样, 但还是可以用其他方法匹配的
方法一
//$pwd 需要验证的密码 //$users->pwd 数据库储存的密码
password_verify($pwd , $users->pwd )
方法二
Hash::check($pwd ,$users->pwd)