Laravel框架登录自带hash加密密码及验证密码

本文详细介绍了在一个Web应用中实现用户密码修改功能的过程,包括自定义验证规则、使用哈希比对旧密码、检查新旧密码是否相同以及更新数据库中的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


public function editPwd()
{

    //自定义验证
    $validator = $this->validatorPwd($this->request->all());

    if ($validator->fails()) {
        return $this->failed([], 400, '参数错误!');
    }

    $oldPwd = $this->request->get('old_password');
    $newPwd = $this->request->get('new_password');

    $id = Auth::id();
    $adminInfo = AdminRepository::selectAdmin($id);


    if(!Hash::check( $oldPwd , $adminInfo->password)){
        return $this->failed('原密码有误');
    }

    if(Hash::check( $newPwd , $adminInfo->password)){
        return $this->failed('修改密码与原密码相同');
    }

    $params = [
        'id' => $id,
        'password' => Hash::make($newPwd)
    ];

    $create = AdminRepository::editPwd($params);

    if ($create){
        return $this->message(['flag' => true]);
    }

    return $this->failed('操作失败');


    //$this->logout_web($data); //立即重新登陆
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值