js ajax加密,javascript混淆加密

本文探讨了一种JavaScript的混淆加密方法,通过创建特殊字符映射和8进制编码来隐藏源代码内容。示例展示了如何将字符串'大家好,我是showbo!𠮷双字节测试'加密。文章适合对JavaScript安全和混淆技术感兴趣的Web开发者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript另类混淆加密

源代码:alert('大家好,我是showbo!𠮷双字节测试')

加密后代码:

var kv = { "0": "___", "1": "__$", "2": "_$_", "3": "_$$", "4": "$__", "5": "$_$", "6": "$$_", "7": "$$$", "8": "$___", "9": "$__$", "f": "$$$$", "a": "$_$_", "b": "$_$$", "d": "$$_$", "e": "$$$_", "c": "$$__", "o": "_$", "t": "__", "u": "_" };

function getOctalStr(c) {

var s = '+"\\\\"';

var sOctal = c.charCodeAt(0).toString(8);

for (var i = 0; i < sOctal.length; i++) s += '+$.' + kv[sOctal.charAt(i)];

return s;

}

function padding(s, l, c) { if (s.length < l) for (var i = l - s.length; i > 0; i--) s = c + s; return s;}

function encrypSource(s) {

//处理大于255 ASCII字符为16进制编码

s = s.replace(/[\u0100-\uFFFF]+/g, function (s) {

var r = '';

for (var i = 0; i < s.length; i++) r += '\\u' + padding(s.charCodeAt(i).toString(16), 4, 0);

return r;

});

var r = '';

//将s转为8进制表示

for (var i = 0, l = s.length; i < l; i++) {

var c = s.charAt(i);

if (kv[c]) {//不需要转8进制的字符

r += '+$.' + kv[c];

}

else {//字符转8进制

r += getOctalStr(c);

}

}

//加上原文网站解码程序

return '$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")'

+ '[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__'

+ '+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$(' +

'$.$$+"\\""' + r + '+"\\""'//这串是加密后的

+ ')())();'

;

}

加支付宝好友偷能量挖...

2017-8-12Web开发网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值