La interfaz utiliza cifrado de algoritmo AES

1. Introduzca
el enlace crypto-js.min.js: https://pan.baidu.com/s/1NXODaJoycR9PONEI1_k80w?pwd=b9z7 Código de extracción: b9z7

2. Cree una nueva herramienta encoding-util.js

var  JSElement1=document.createElement("script");
JSElement1.setAttribute("type","text/javascript");
JSElement1.setAttribute("src","/license.js");
document.body.appendChild(JSElement1);
JSElement1.onload = function(){
    
    
    getEncodingjs();
}
function getEncodingjs(){
    
    
    var  JSElement2=document.createElement("script");
    JSElement2.setAttribute("type","text/javascript");
    JSElement2.setAttribute("src","/crypto-js.min.js");
    document.body.appendChild(JSElement2);
    JSElement2.onload = function(){
    
    
        function getAesString(data,key,iv){
    
    
            var key  = CryptoJS.enc.Utf8.parse(key);
            var iv   = CryptoJS.enc.Utf8.parse(iv);
            var encrypted =CryptoJS.AES.encrypt(data,key,{
    
    
                iv:iv,
                mode:CryptoJS.mode.CBC,
                padding:CryptoJS.pad.ZeroPadding
            });
            return encrypted.toString();  //返回的是base64格式的密文
        }
        function getDAesString(encrypted,key,iv){
    
    
            var key  = CryptoJS.enc.Utf8.parse(key);
            var iv   = CryptoJS.enc.Utf8.parse(iv);
            var decrypted =CryptoJS.AES.decrypt(encrypted,key,{
    
    
                iv:iv,
                mode:CryptoJS.mode.CBC,
                padding:CryptoJS.pad.Pkcs7
            });
            return decrypted.toString(CryptoJS.enc.Utf8);
        }
        function getAES(data){
    
    //加密
            //var data =document.getElementById("data-ipt").value;//明文
            var key  = 'abcdefghijklmn33';  //密钥
            var iv   = 'abcdefghijklmn33';
            var encrypted =getAesString(data,key,iv); //密文
            var encrypted1 =CryptoJS.enc.Utf8.parse(encrypted);
            return encrypted;
            // document.getElementById("encrypted").innerHTML = encrypted;
        }
        function getDAes(encrypted){
    
    //解密
           // var encrypted =document.getElementById("encrypted").innerHTML; //密文
            var key  = 'abcdefghijklmn12';
            var iv   = 'abcdefghijklmn12';
            var decryptedStr =getDAesString(encrypted,key,iv);
            return decryptedStr;
            // document.getElementById("decrypted").innerHTML = decryptedStr;
        }

        function checklnjs() {
    
    
              console.log("加密:"+getAES("localhost|eln.qunaj.cn,2023-09-31 23:59:59,A4-83-E7-72-8F-DF"));
            //先解密LwLicenseKey,密钥文件中的数据
             var LwLicenseString =getDAes(LwLicenseKey);
            // var LwLicenseString =LwLicenseKey;
            //获取host和过期时间
            var lwList=LwLicenseString.split(',');
            var iphostlst=lwList[0].split('|');
            //获取本机访问的域名
            var domain = window.location.host;
            console.log(domain)
            if(lwList[0].indexOf(domain)!=-1){
    
    
                //可用
                // console.log('可用')
            }else {
    
    
                //盗版
                // console.log('盗版')
                window.location.href='/warnaccept'
            }
            //获取当前时间的年月日

            var currentDate = new Date(); // 创建一个Date对象

            var year = currentDate.getFullYear(); // 获取当前年份
            var month = currentDate.getMonth() + 1; // 获取当前月份(注意月份从0开始,所以要加1)
            var day = currentDate.getDate(); // 获取当前日期
            var dateString=year+"-"+((month.length)>1?month:'0'+month)+"-"+day;
            //获取到期时间
            var dateexire = new Date(lwList[1]);
            console.log(dateexire)
            if(dateexire.getTime()<currentDate.getTime()){
    
    
                // console.log("到期了");
                window.location.href='/warnexpire'
            }else {
    
    
                // console.log("未过期");
            }

            //调用后台,检查是否和服务器保持一致
            $.ajax({
    
    
                url:"/check?linces="+encodeURIComponent(LwLicenseKey) ,
                type:"get",
                // data:data,
                success:function (result) {
    
    
                    console.log(result);
                    //先解密
                    var result1=getDAes(result.msg);
                    var str=result1.split("|");
                    if(str[0]=="success"){
    
    
                        //判断服务器时间和本机时间是否一致
                        var servertime = new Date(str[1]);
                        if(dateexire.getTime()<servertime.getTime()){
    
    
                            // console.log("到期了");
                            window.location.href='/warnexpire'
                        }else {
    
    
                            // console.log("未过期");
                        }
                    }
                    if(str[0]=="error"&&str[1].indeOf("mac")!=-1){
    
    
                            window.location.href='/warnmac'
                    }
                }
            })
        }
        checklnjs();
    }
}




Supongo que te gusta

Origin blog.csdn.net/mars131458/article/details/132665671
Recomendado
Clasificación