• 前端数据加密。配合后台加密可以达到双重加密。


    var dataED = new Function();
    dataED.prototype = {
        code:{a:1,b:2,c:3,d:4,e:5,f:6,g:7,h:8,i:9,j:11,k:12,l:13,m:14,n:15,o:16,p:17,q:18,r:19,s:10,t:21,u:22,v:23,w:24,x:25,y:26,z:27,},
        encode:function(Strings){
            var data = this.code,
                test = Strings;
            var dataM = test.split("").map(function(e,i){
                if(data[e]){
                    var ret = "(";
                    for(var i = 0 ; i< data[e];i++){
                        ret += "1";
                    };
                    for(var i = 0 ; i< data[e];i++){
                        ret += "0";
                    };
                    ret += ")";
                    return ret;
                };
                if(!isNaN(parseInt(e))){
                    var rets = "[";
                    for(var i = 0 ; i< parseInt(e);i++){
                        rets += "1";
                    };
                    for(var i = 0 ; i< parseInt(e);i++){
                        rets += "0";
                    };
                    rets += "]";
                    return rets;
                }
                return e;
            });
            var newData = "";
            dataM.forEach(function(e){
                newData += e;
            });
            var newDataE = encodeURI(newData).split("").map(function(e){
                if(!isNaN(parseInt(e))){
                    if(parseInt(e) == 1){
                        return "有";
                    }else if(parseInt(e) == 0){
                        return "没";
                    }else{
                        return e;
                    };
                }else{
                    return e;
                };
            });
            var newDataS = "";
            newDataE.forEach(function(e){
                newDataS += e;
            });
            return encodeURI(newDataS);
        },
        decode:function(Strings){
            var data = this.code;
            var dataD = decodeURI(Strings).split("").map(function(e){
                if(e == "有"){
                    return "1";
                }else if(e == "没"){
                    return "0";
                }
                return e;
            });
            var newDataE = "";
            dataD.forEach(function(e){
                newDataE += e;
            });
            var newDataES = decodeURI(newDataE).match(/(+.+?)|[+.+?]|./img);
            var dataJ = newDataES.map(function(e){
                if(e.match(/(+.+?)/img)){
                    var index = e.replace(/[^1]/img,"").length;
                    var indexKey = null;
                    for(var i in data){
                        if(data[i] == index){
                            indexKey = i;
                            break;
                        };
                    }
                    return indexKey;
                }else
                if(e.match(/[+.+?]/img)){
                    var index = e.replace(/[^1]/img,"").length;
                    return index;
                }else
                    return e;
            });
            var newDataJ = "";
            dataJ.forEach(function(e){
                newDataJ += e;
            });
            return newDataJ;
        }
    }

  • 相关阅读:
    ES6 学习记录
    Windows 服务开发 以及 重启IIS应用池
    IIS部署.net core 3.1踩坑总结
    VS 2019背景全透明以及插件、特效
    深拷贝和浅拷贝的区别
    Vue全家桶以及常用知识点
    C#设计模式
    博客园装扮教程
    Exp5 单元测试
    Exp4 代码评审
  • 原文地址:https://www.cnblogs.com/zys8119/p/6018167.html
Copyright © 2020-2023  润新知