zoukankan      html  css  js  c++  java
  • 前端数据加密。配合后台加密可以达到双重加密。

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

  • 相关阅读:
    CodeBlocks背景主题的设置
    Win7更改默认打开方式失败
    BAT命令介绍【转自Internet】
    Index of my articles
    一个表格说明RelativeLayout中的几个重要属性【Written By KillerLegend】
    有史以来最简单的三层实例(C#) ——转载自CSDN
    银联规定的MAC算法_转载
    Windows下ORACLE 10g安装与操作图解
    Oracle 在64位机器上使用PLSQL连接Oracle的问题(SQL * NET not properly installed)转载
    Linux系统下JDK和Tomcat安装配置
  • 原文地址:https://www.cnblogs.com/zys8119/p/6018167.html
Copyright © 2011-2022 走看看