zoukankan      html  css  js  c++  java
  • js 字符串加密解密

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
    
        <title>网页加密及解密</title>
        <meta name="author" content="xiongzaiqiren" />
        <meta name="keywords" content="" />
        <meta name="description" content="" />
        <meta name="generator" content="ClassBao team coding in July 10, 2017" />
    
    </head>
    
    <body>
        <p><textarea id="text1" name="textfield" cols="50" rows="5">钱庄王员外这个人怎么样?</textarea></p>
        <input type="button" name="Button1" value="加密" onClick="text1.value = MySign.Encrypt(text1.value);">
        <input type="button" name="Button2" value="解密" onClick="text1.value = MySign.UnEncrypt(text1.value);">
    
        <script language="JavaScript">
            var MySign = {
                //加密/解密次数
                num: 0,
                //加密
                Encrypt: function (Text) {
                    this.num = this.num + 1;
                    output = new String;
                    alterText = new Array();
                    varCost = new Array();
                    TextSize = Text.length;
                    for (i = 0; i < TextSize; i++) {
                        idea = Math.round(Math.random() * 111) + 77;
                        alterText[i] = Text.charCodeAt(i) + idea;
                        varCost[i] = idea;
                    }
                    console.log(alterText, varCost);
                    for (i = 0; i < TextSize; i++) {
                        output += String.fromCharCode(alterText[i], varCost[i]);
                    }
                    //text1.value = output;
                    return output;
                },
    
                //解密
                UnEncrypt: function (Text) {
                    if (this.num > 0) {
                        this.num = this.num - 1;
                        output = new String;
                        alterText1 = new Array();
                        varCost1 = new Array();
                        TextSize = Text.length;
                        for (i = 0; i < TextSize; i++) {
                            alterText[i] = Text.charCodeAt(i);
                            varCost[i] = Text.charCodeAt(i + 1);
                        }
                        for (i = 0; i < TextSize; i = i + 2) {
                            output += String.fromCharCode(alterText[i] - varCost[i]);
                        }
                        //text1.value = output;
                        return output;
                    }
                }
            };
    
    
            //测试代码
            var testString = "光头强,还不去砍树?";
            console.log(testString);
    
            var sign = MySign.Encrypt(testString); //凑ˆ妣o忕›ァ[還¬什³呯´硠S桲aチb
            var sign2 = MySign.UnEncrypt(sign); //光头强,还不去砍树?
    
            console.log(sign);
            console.log(sign2);
    
        </script>
    
    </body>
    </html>
  • 相关阅读:
    终于清楚了!!!【使用jenkins发布应用到tomcat详细过程】
    RocketMQ相关问题
    关于idea修改当前使用的git账户的问题
    Elasticsearchan安装初尝01-问题记录
    Redis学习日记-03
    Git初探笔记02
    Git初探笔记01
    Redis学习日记-02
    HDU 1017
    HDU 1013
  • 原文地址:https://www.cnblogs.com/hss-blog/p/10109565.html
Copyright © 2011-2022 走看看