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
可以看出。