• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

记登录注册时候前端js明文密码加密传输php解密

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前端 使用key iv 使用aes加密后字符串传给后台  (可拼接时间戳加密)

        function js_encrypt(text){
            var key = CryptoJS.enc.Latin1.parse('1E390CMD585LLS4S'); //为了避免补位,直接用16位的秘钥
            var iv = CryptoJS.enc.Latin1.parse('1104432290129056'); //16位初始向量(请记住这两个都要保证是16位)
            var encrypted = CryptoJS.AES.encrypt(text, key, {
                iv: iv,
                mode:CryptoJS.mode.CBC,
                padding:CryptoJS.pad.ZeroPadding
            });
            return encrypted;
        }

需引入js 文件下载  https://www.mdaima.com/upload_file/file/2019/07/04/1562201519633156.rar

后台 解密

        $password = input('password');
        $password_dec=iconv('utf-8','gbk',js_decrypt_openssl($password));
        $timesm=substr($password_dec,-10);
        $password = str_replace($timesm,'',$password_dec);
        if(time() > $timesm + 10){
               $errcode = 10006;
            return json(['errcode'=>$errcode,'errmsg'=>errcode::getErrMsg($errcode)]); 
        }


function js_decrypt_openssl($encrypt){
    $key = "****"; //与JS端的KEY一致
    $iv = "****"; //这个也是要与JS中的IV一致
    $decrypted = openssl_decrypt($encrypt, 'AES-128-CBC', $key, 2 , $iv);
    $decrypted = trim(trim($decrypted, "\0000"),'');//这个一定要有,要不然在你不用浏览器查看源代码的情况下是很难发现,还有一些乱码存在的
    return $decrypted;
}

 




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
转化Excel表格为php配置文件发布时间:2022-07-10
下一篇:
那些PHP中没有全称的简写发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap