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>
  • 相关阅读:
    四种访问修饰符详解(推荐)
    三层架构中DAL层Sqlhelper怎样快速掌握?(常用)
    ASP.NET中最常用的验证控件使用方法(推荐)
    .NetFrom验证方便的webconfig 配置及前台使用(推荐)
    CefSharp访问需要认证网页或接口(在Request的Headers中添加认证Token)
    CentOS7中配置vsftpd
    CentOS7下安装RabbitMQ
    CentOS7下让Asp.Net Core的网站自动运行
    Winform下的Combox根据值来选中项
    golang简单实现jwt验证(beego、xorm、jwt)
  • 原文地址:https://www.cnblogs.com/hss-blog/p/10109565.html
Copyright © 2011-2022 走看看