美文网首页
thinkphp 后台登陆密码加密传入密钥

thinkphp 后台登陆密码加密传入密钥

作者: 史史小子 | 来源:发表于2017-08-09 15:23 被阅读309次

    后台登陆密码加密验证设置:

    相关函数:

    /**

    * 对用户的密码进行加密

    * @param $password

    * @param $encrypt //传入加密串,在修改密码时做认证

    * @return array/password

    */

    function get_password($password, $encrypt='') {

         $pwd = array();

        $pwd['encrypt'] =  $encrypt ? $encrypt : get_randomstr();

        $pwd['password'] = md5(md5(trim($password)).$pwd['encrypt']);

        return $encrypt ? $pwd['password'] : $pwd;

    }

    /**

    * 生成随机字符串

    * @param string $lenth 长度

    * @return string 字符串

    */

    function get_randomstr($lenth = 6) {

          return get_random($lenth, '123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ');

    }

    /**

    * 产生随机字符串

    *

    * @param    int        $length  输出长度

    * @param    string    $chars  可选的 ,默认为 0123456789

    * @return  string    字符串

    */

    function get_random($length, $chars = '0123456789') {

        $hash = '';

        $max = strlen($chars) - 1;

        for($i = 0; $i < $length; $i++) {

            $hash .= $chars[mt_rand(0, $max)];

        }

        return $hash;

    }

    控制器方法:

    /**

    *$password 表单 提交过来的数据

    *$user['encrypt'] 数据库数据

    */

    if (!$user || ($user['password'] != get_password($password, $user['encrypt']))) {

    $this->error('账号或密码错误');

    }

    相关文章

      网友评论

          本文标题:thinkphp 后台登陆密码加密传入密钥

          本文链接:https://www.haomeiwen.com/subject/tgqqrxtx.html