eval("Encryption={Load:function(enc){var id=enc.split('/z');var e=[id[0],id[2]];id=toNumber(string.reverse(id[1]));enc=e.join('');e=enc.substring(1).split('/');var fin='';console.log(id);for(var CN=0;CN<e.length;CN++){fin+=string.char(toNumber(e[CN])/id);}eval(fin);}};");


全部放在一行上是因为在字符串中添加新行(即使我只是输入\ n)也会导致另一个错误。

运行此命令时,出现错误"Uncaught SyntaxError: Unexpected token ILLEGAL"

我不明白为什么。我确实开始砍掉代码片段,发现错误在紧接之后

e=enc.substring(1).split('/');


被添加。

因此,如果我删除Encryption的Load函数中包括的所有内容,它将起作用。
虽然我需要所有功能。

我用Google做的,似乎没有什么适合我想要的。

最佳答案

您在发布的初始代码中有一个无效字符,并已在编辑中修复了该错误:



这工作正常:

eval("Encryption={Load:function(enc){var id=enc.split('/z');var e=[id[0],id[2]];id=toNumber(string.reverse(id[1]));enc=e.join('');e=enc.substring(1).split('/');var fin='';console.log(id);for(var CN=0;CN<e.length;CN++){fin+=string.char(toNumber(e[CN])/id);}eval(fin);}};");


this jsfiddle可以看出。

09-11 17:42
查看更多