Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript文本数组数据加扰和解扰_Javascript_Encryption_Encoder_Decoder_Scramble - Fatal编程技术网

Javascript文本数组数据加扰和解扰

Javascript文本数组数据加扰和解扰,javascript,encryption,encoder,decoder,scramble,Javascript,Encryption,Encoder,Decoder,Scramble,我正在寻找超快速和紧凑的Javascript代码或函数来对存储在数组中的文本进行加扰和解扰 我只希望当用户使用浏览器进入“查看源代码”模式时,此文本不可读 有许多选项,如向ASCII码中添加固定数字,或对字符串进行布尔运算,如移位、反转、更改为八进制、十六进制等 我需要这两个文本和数字字符串。如果加扰后的代码不复杂且不带有“,”,#,$,&,/等符号,则最好是这样 var c = new Array(); c[0]=new Array( "Name","Home","City","Post co

我正在寻找超快速和紧凑的Javascript代码或函数来对存储在数组中的文本进行加扰和解扰

我只希望当用户使用浏览器进入“查看源代码”模式时,此文本不可读

有许多选项,如向ASCII码中添加固定数字,或对字符串进行布尔运算,如移位、反转、更改为八进制、十六进制等

我需要这两个文本和数字字符串。如果加扰后的代码不复杂且不带有“,”,#,$,&,/等符号,则最好是这样

var c = new Array();
c[0]=new Array( "Name","Home","City","Post code","Telephone","email","Web","Id","Number","xpos","ypos");
c[1]=new Array( "John","Street 123","1234","New York","555-1450123","john@demo.com","www.demo1.com","b",59,306380,565500);
c[2]=new Array( "Poul","Street 1234","2345","New York","555-7010123","poul@demo.com","www.demo2.com","i",113,308396,635477);
c[3]=new Array( "David","Street 12345","3456","New York","555-3111123","david@demo.com","www.demo3.com","i",129,377615,581358);

var Scrambler = function(n) { return ASCII(n)+1...; }
var DeScrambler = function(n) { return ASCII(n)-1...; }

$(function() {
for (var i = 0; i < c[0].length; ++i) {
    for (var j = 0; j < (c.length); ++i) {
        a[j][i] = DeScrambler(c[j][i]);
        }   
    }
});
var c=new Array();
c[0]=新数组(“姓名”、“家庭”、“城市”、“邮政编码”、“电话”、“电子邮件”、“网络”、“Id”、“号码”、“xpos”、“YPO”);
c[1]=新数组(“约翰”、“123街”、“1234街”、“纽约”、“555-1450123街”、“纽约市”john@demo.com","www.demo1.com","b","59306380565500",;
c[2]=新阵列(“Poul”、“1234街”、“2345街”、“纽约”、“555-7010123街”poul@demo.com“,“www.demo2.com”,“i”,113308396635477);
c[3]=新数组(“大卫”、“12345街”、“3456街”、“纽约”、“555-311123街”、“纽约市”david@demo.com","www.demo3.com","i","129377615581358",;
var扰码器=函数(n){返回ASCII(n)+1…;}
var解扰器=函数(n){返回ASCII(n)-1…;}
$(函数(){
对于(变量i=0;i

有什么好主意吗?

如果您对文本进行加扰,用户将能够看到正在传输的数据。如果您只想使用JS并使其通用,也许让服务器以UTF8字节的形式发送该数据?而且这不属于加密范围。加密和模糊处理不一样。我提供了一个指向github文件的链接,该文件基于和数据类型转换。我想你在哪里寻找这样的东西

(所有字节到UTF8字符串的操作都作为无符号字节完成)
(我同意@mishik minify(ing)您的代码是模糊处理的最佳方法之一)

如何使用ROT47或其他替代密码?它实现简单、快速,并且不会增加字符串的长度。

我提出了这个有效的解决方案来解决我的问题:

在这段代码中,如果可能的话,我想做得更好的事情很少

1) 在第33行中,我必须使用这个肮脏的技巧
“+c[I][j])
将数组中的数字转换为字符串。但当返回时,问题是数字不再是我数组中的数字!这非常快,但如果您有更好的主意,而不丢失数字定义,请告诉我。 2) 我正在使用2个版本的ROT13和ROT18。我发现了ROT13的一行代码版本:
s.replace(/[a-zA-Z]/g,函数(c){return String.fromCharCode((c=(c=c.charCodeAt(0)+13)?c:c-26);};
如何以简单的方式向这些ROT13中添加数字和-@字母? 3) 正如你所看到的,我正在使用2D数组来存储我的代码。有更好的建议吗

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

<script type="text/javascript">

    var AscII = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@.-";
    var ROT18 = "STUVWXYZ0123456789@.-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR";
    var c = new Array();
    c[0]=new Array( "Name","Home","City","Post code","Telephone","email","Web","Id","Number","xpos","ypos");
    c[1]=new Array( "John","Street 123","1234","New York","438-1450123","john@demo.com","www.demo1.com","b",59,306380,565500);
    c[2]=new Array( "Poul","Street 1234","2345","New York","450-7010123","poul@demo.com","www.demo2.com","i",113,308396,6354772);
    c[3]=new Array( "David","Street 12345","3456","New York","451-3111123","david@demo.com","www.demo3.com","i",129,377615,581358);

$(function() {

    var Normal = function() {
        var txt ="";
        for (var i = 0; i < c.length; ++i) {
            for (var j = 0; j < c[0].length; ++j) {
                txt += ""+c[i][j] + ", ";
                }
            txt += "<br>";
            }
        $("#kData").html("<b>Normal ASCII<br></b>" + txt);
        };

    var Convert18 = function(Div, TxtFrom, TxtTo) {
        var txt ="";
        for (var i = 0; i < c.length; ++i) {
            for (var j = 0; j < c[0].length; ++j) {
                var ktxtX = decode((""+c[i][j]), TxtFrom, TxtTo);
                c[i][j] = ktxtX;
                txt += ktxtX + ", ";
                }
            txt += "<br>";
            }
        $(Div).html("<b>ROT18 + Numbers + @-_<br></b>" + txt);
        };

    var Convert13 = function(Div) {
        var txt ="";
        for (var i = 0; i < c.length; ++i) {
            for (var j = 0; j < c[0].length; ++j) {
                var ktxtX = rot13(""+c[i][j]);
                // s.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});
                c[i][j] = ktxtX;
                txt += ktxtX + ", ";
                }
            txt += "<br>";
            }
        $(Div).html("<b>ROT13<br></b>" + txt);
        };

    var decode = function (txt, alphabet, substitution) {
      return txt.split("").map(function (c) {
        if (alphabet.indexOf(c) != -1) { return substitution.charAt(alphabet.indexOf(c)); }
          else { return c; }
      }).join("");
    };

    function rot13(str) {
      return str.replace(/[a-zA-Z]/g, function(c) {
        return String.fromCharCode((c <= 'Z' ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
      });
    }

Normal();
Convert18("#kData2", AscII, ROT18);
Convert18("#kData3", ROT18, AscII);
Convert13("#kData4");
Convert13("#kData5");
$("#kData6").html("Finised - j:" + c[0].length + " - i:" + c.length);

});

</script>

</head>
<body>
    <div id="kData"></div>
    <div id="kData2"></div>
    <div id="kData3"></div>
    <div id="kData4"></div>
    <div id="kData5"></div>
    <div id="kData6"></div>
</body>
</html>

var AscII=”abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@.-";
变量18=”STUVWXYZ0123456789@.-abcdefghijklmnopqrstuvxyzabcdefghijklmnopqr”;
var c=新数组();
c[0]=新数组(“姓名”、“家庭”、“城市”、“邮政编码”、“电话”、“电子邮件”、“网络”、“Id”、“号码”、“xpos”、“YPO”);
c[1]=新数组(“约翰”、“123街”、“1234街”、“纽约”、“438-1450123街”、“纽约市”john@demo.com","www.demo1.com","b","59306380565500",;
c[2]=新阵列(“Poul”、“1234街”、“2345街”、“纽约”、“450-7010123街”poul@demo.com“,“www.demo2.com”,“i”,1133083966354772);
c[3]=新数组(“大卫”、“12345街”、“3456街”、“纽约”、“451-311123街”、“纽约市”、“纽约市”、“纽约市”等david@demo.com","www.demo3.com","i","129377615581358",;
$(函数(){
var Normal=函数(){
var txt=“”;
对于(变量i=0;i”;
}
$(“#kData”).html(“普通ASCII
”+txt); }; var Convert18=函数(Div、TxtFrom、TxtTo){ var txt=“”; 对于(变量i=0;i”; } $(Div).html(“ROT18+Numbers+@-\
”+txt); }; var Convert13=功能(Div){ var txt=“”; 对于(变量i=0;i”; } $(Div.html(“ROT13
”+txt); }; var decode=函数(txt、字母表、替换){ 返回txt.split(“”).map(函数(c){ if(alphabet.indexOf(c)!=-1){return substitution.charAt(alphabet.indexOf(c));} else{return c;} }).加入(“”); }; 功能rot13(str){ 返回str.replace(/[a-zA-Z]/g,函数(c){ 返回字符串.fromCharCode((c=(c=c.charCodeAt(0)+13)?c:c-26); }); } 正常(); Convert18(“#kData2”,AscII,ROT18); Convert18(“#kData3”,ROT18,AscII); 兑换13(“kData4”); 兑换13(“kData5”); $(“#kData6”).html(“finished-j:+c[0].length+”-i:+c.length); });

我把代码拷贝到

代码上?没有好的方法来隐藏你已经发送给用户的数据。如果你真的需要这个隐藏-考虑把它移到服务器端。感谢MISHIK快速回放。我完全意识到这个问题。首先,我不希望HTML代码可以直接由用户读取,第二个是S。我不想使用PHP或数据库。第三,我更想写一个适合我的代码