1.请问这种JS代码怎么加密
请问这种JS代码怎么加密
这不算加密,只不过一眼看不出来罢了。码算码算其实就是源的原JavaScript字符串转义。原理很简单,码算码算eclipse源码加密比如字符 ’w‘
它的源的原 charCode 是 十六进制表示为 0x
然后利用 JavaScript 字符串转义前缀 \x,表达出编码过的码算码算保险网站 源码 ASCII 字符来:
\x + charCode的十六进制表示(两位)所以字符串 '\x' 就是字符串 'w'
也就是说
'\x' === 'w'这个的返回值是 true,二者完全等效!源的原
这是码算码算对于 ascii 代码表示形式,charCode 大于 的源的原怎么处理?就要用到 \u 前缀了
\u + charCode的十六进制表示(比如汉字 '学' 的 charCode 是 (0x5b)
书写时只要把 0x 替换为 \u:
\u5b这样就可以了。
'\u5b' === '学'那么为什么要这么麻烦呢?直接输入字符不就好了吗?要知道,码算码算有些字符是源的原不能打印或不能被输入的(比如功能/控制字符“退格”等),如果要在字符串中包含这些字符,码算码算只能依靠字符串转义了!源的原thinkphp 微信 源码
回头看楼主给的码算码算代码:
"\x\x6f\x\x\x6d\x\x6e\x"这个是什么?
F开浏览器开发者工具,切到控制台(或者你有 node.js),源的原在控制台输入这一串。yii2.0源码
你看到输出什么了吗?
"document"继续
"\x\x\x\x\x\x6c\x6e"这个输入后,控制台返回
"writeln"剩下括号内的也是一样的啦。结果是决策树 源码一个指向特定地址的 <a> 标签。
所以翻译过来就是
window['document']['writeln']('<a href="...">标签</a>')看懂了?
好,既然楼主说要怎么加密的。我就写了个 JS 脚本,只要调用这个方法,你就得到“加密”后的字符串信息了:
function encrypt(str) {var result = '', charCode
for(var i = 0, length = str.length; i < length; i++) {
charCode = str.charCodeAt(i)
if(charCode < 0x) {
result += '\\x0' + charCode.toString()
} else if(charCode < 0x) {
result += '\\x' + charCode.toString()
} else if(charCode < 0x) {
result += '\\u0' + charCode.toString()
}else {
result += '\\u' + charCode.toString()
}
}
return result
}
在控制台执行
encrpty('楼主给的那一串')返回
"\x3c\x\x\x\x\x\x\x3d\x\x\x\x\x\x3a\x2f\x2f\x\x\x\x2e\x\x\x\x6d\x6b\x2e\x\x6f\x6d\x2f\x\x\x\x\x\x\x\x\x3d\x\x5f\x\x6c\x\x6e\x6b\x\x\x\x\x\x6c\x\x3d\x\x\x6f\x6c\x6f\x\x3a\x\x\x\x\x\x\x\x3b\x\x3e\x3c\x\x3e\x\x\u6e\u\u8bba\ub\x3c\x2f\x\x3e\x3c\x2f\x\x3e"楼主只要把括号中的那一串替换为上面输入的内容就好了。