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('/');
已添加。
因此,如果我删除加密的加载功能中的所有内容,包括它,它将起作用。 虽然我需要所有的功能。
我做了谷歌,似乎没有什么适合我想要的。
答案 0 :(得分:4)
您发布的初始代码中有一个无效字符,您在编辑中修复了该字符:
这很好用:
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
可以看出。