js 字符串转 unicode

44 阅读1分钟

js 字符串转 unicode,可用来和eval等语句结合,实现代码加密、反调试。

例如,定义变量key的值为123:“var key = 123;”转化为Unicode形式为:

\u0076\u0061\u0072\u0020\u006b\u0065\u0079\u0020\u003d\u0020\u0031\u0032\u0033\u003b\u000a

如果此时用Eval执行,并用console.log输出变量key的值:

eval("\u0076\u0061\u0072\u0020\u006b\u0065\u0079\u0020\u003d\u0020\u0031\u0032\u0033\u003b\u000a");

console.log(key)

会发现:变量的值可以正常输出为123,但从代码中看不到“key”的定义,也无法通过调试找到“key”。

这样就起到了对变量名的保护。

此技巧可用于加密敏感信息相关的变量名、某些前端算法的密钥,等等。

为了方便实现这一功能,我们可以借助于工具。例如:

巧用这个方法,可以实现意想不到的效果,快去探索一下吧~