一般我们在数据库中的密码都是使用密文储存的,
这样子做是比较安全,那么,如果用户在需要修改密码的时候,怎么样可以做到快速验证呢?
比如,某用户输入了123456(想要修改的密码)
而数据库中的密码是密文存储的,如果正常对比肯定是不正确的。
那么,有两种方法,第一次,使用与之对应的密文加密后再与之对比。
第二种,laravel提供了一个快速验证的方法password_verify()
password_verify('用户输入的密码','数据库的密码')
这样就可以快速对比了
例如,我项目中的
//获取用户输入的旧密码
$old_password = $request->input('old_password');
//获取数据库的旧密码
$user = auth('api')->user()->password;
//验证用户输入的旧密码与数据库的旧密码对比是否正确
if (password_verify($old_password, $user)) {
return $this->response->errorBadRequest('旧密码不正确');
}