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


    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;
        }
    }

  • 相关阅读:
    Asp.net MVC中表单验证属性的使用
    asp.net mvc3用file上传文件大小限制问题
    Asp.net MVC中ReturnUrl的使用
    Asp.net mvc+EF+Sql Server2008数据库缓存依赖
    .Net有哪些大型项目、大型网站的案例?
    Canvas 继续学习
    React 表单与事件
    React Ajax
    React生命周期
    React 添加一个事件
  • 原文地址:https://www.cnblogs.com/zys8119/p/6018167.html
Copyright © 2020-2023  润新知