简单的PHP注册登录密码加密

1 篇文章 0 订阅
1 篇文章 0 订阅

简单的PHP注册登录密码加密

第一步,注册


            $data = $_POST;
            $admin_name = $data['admin_name'];
            $is_exit = Db::name('admin')->where(['admin_name' => $admin_name])->find();
            if (!empty($is_exit)) {
                return ajaxTable(0, '已经存在');
            }
            #验证两次密码
            if ($data['admin_pwd'] != $data['admin_pwd2']){
                return ajaxTable(1, '两次密码不一致');
            }
            unset($data['admin_pwd2']);

            #密码加密
            $pass =$data['admin_pwd'];
            $data['admin_pwd'] = password_hash($pass, PASSWORD_DEFAULT);

            $res_id = Db::name('admin')->insertGetId($data);
            if ($res_id) {
                $power_team = $data['power_team'];
                Db::name('auth_group_access')->insert(['uid'=>$res_id,'group_id'=>$power_team]);
                return ajaxTable(0, 'success');
            } else {
                return ajaxTable(1, 'fail');
            }

第二步,登录

        if (!$_POST) {
            return json(['status'=>2,'msg'=>"非法请求"]);
        }

        $name = input("name");
        $pass = input("pass");
        $pass = md5($pass);

        $admin_info = Db::name('admin')->where(['admin_name' => $name])->find();
        #验证hash
        $is_true = password_verify($pass,$admin_info['pwd_hash']);

        if (!empty($admin_info)) {
            if ($is_true) {
                if ($admin_info['is_delete'] == 1) {
                    return json(['status'=>4,'msg'=>"该账户已冻结"]);
                }
                //登录成功,判断当前用户组是否可以正常登录
                $pwoerTeam = $admin_info['power_team'];
                //根据权限组ID,查询此权限组赋予的权限
                $pwoerList = Db::name('powerteam')->field("power")->where("id=" . $pwoerTeam)->find();
                $pwoerList = $pwoerList['power'];
                if (empty($pwoerList)) {
                    return json(['status'=>5,'msg'=>"权限错误"]);
                }
                $outime = time() + 36000;
                session('Admin_outime', $outime);//登录过期时间  默认登录10小时过期
                session('Admin_lasttime', time()); //最近操作的时间
                $data_update = array(
                    'login_ip' => get_client_ip_rewrite(),
                    'login_time' => time()
                );
                Db::name('admin')->where("id=" . $admin_info['id'])->update($data_update);
                session('admin_info', $admin_info);
                return json(['status'=>0,'msg'=>"登录成功"]);
            } else {
                return json(['status'=>1,'msg'=>"密码错误"]);
            }
        } else {
            return json(['status'=>3,'msg'=>"管理员不存在"]);
        }


其他:修改密码


$admin_pwd = input('admin_pwd');
$admin_pwd = md5($admin_pwd);
$pwd_hash = password_hash($admin_pwd, PASSWORD_DEFAULT);
$res = Db::name('admin')->where(['id' => $id])->update(['admin_pwd' => $admin_pwd,'pwd_hash'=>$pwd_hash]);

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炼气三千年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值