js怎么加密或者混淆,弄个例子。 js加密 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.jb51.net/tools/eval/ 以前有碰到过一个,只有解密函数,没加密的,然后自己依据解密代码推算出加密的你看看合适不合适了加密后如乱码。。执行解密代码 <script type="text/javascript"> _$_ = ["", "\x77\x72\x69\x74\x65", "\x6c\x65\x6e\x67\x74\x68", "\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74", "\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65", "\x73\x75\x62\x73\x74\x72", "\x40", "\x65"]; var a = { e: function (__0, __1) { var __2, __3, __4, __5 = _$_[0]; if (__1 == 0) { eval(__5) } else if (__1 == 1) { document[_$_[1]](__0) } else { for (__3 = 0; __3 < __0[_$_[2]]; __3++) { { __2 = __0[_$_[3]](__3); if (__2 >= 33 && __2 <= 79) { __5 = __5 + String[_$_[4]](__2 + 47) } else if (__2 >= 80 && __2 <= 126) { __5 = __5 + String[_$_[4]](__2 - 47) } else { __4 = __3 + 1; if (__0[_$_[5]](__4, 1) == _$_[6]) { __5 = __5 + String[_$_[4]](__2 + 5) } else { __5 = __5 + __0[_$_[5]](__3, 1) } __3++ } } } a[_$_[7]](__5, 1) } } }; //使用方法 //a.e("被加密混淆过的HTML或者javascript代码") a.e("k2 ,9C67lQ9EEAi^^HHH]4@5:?8`ab]?6EQm缑@稆@讹@讜@罌@k^2mkD4C:AE ,EJA6lQE6IE^;2G2D4C:AEQm2=6CEW`abXk^D4C:AEm");</script>js加密/解密代码的<meta charset="gb2312" /><form method="post" onsubmit="return _de_encrypt(this)"><b>要加密/解密的代码</b><br /><textarea name="source" rows="6" cols="80"></textarea><br /><b>类型:</b><input type="radio" name="type"/>加密 <input type="radio" name="type"/>解密<br /><b>加密/解密结果</b><br /><textarea name="target" rows="6" cols="80" readonly="readonly"></textarea><br /><input type="submit" value="开始"/></form><script type="text/javascript"> function _de_encrypt(f) { if (f.source.value == '') { alert('请输入“要加密/解密的代码”!'); f.source.focus(); return false; } if (!f.type[0].checked && !f.type[1].checked) { alert('请选择“类型”!'); f.type[0].focus(); return false; } f.target.value = window[f.type[0].checked ? 'encrypt' : 'decrypt'](f.source.value); return false; } function encrypt(v) { var s = '', charCode; for (var i = 0, len = v.length; i < len; i++) { charCode = v.charCodeAt(i); if (charCode >= 33 && charCode <= 79) s += String.fromCharCode(charCode + 47); else if (charCode >= 80 && charCode <= 126) s += String.fromCharCode(charCode - 47); else if ((charCode >= 0 && charCode <= 32) || (charCode >= 127 && charCode <= 133)) s += String.fromCharCode(charCode) + ','; else s += String.fromCharCode(charCode - 5) + '@'; } return s; } function decrypt(v) { var i, charCode, s = '', preIndex; for (i = 0; i < v.length; i++) { charCode = v.charCodeAt(i); if (charCode >= 33 && charCode <= 79) s = s + String.fromCharCode(charCode + 47); else if (charCode >= 80 && charCode <= 126) s = s + String.fromCharCode(charCode - 47); else { preIndex = i + 1; if (v.substr(preIndex, 1) == "@") s = s + String.fromCharCode(charCode + 5) else s = s + v.substr(i, 1); i++; } } return s; } </script>可以看这个,有服务器端的加密方法,客户端js加密解密不利于读取文件,只能自己贴进去C#/vbscript/JS如何加密保护HTML/javascript源代码 加密的思路 1)ASCII编码内可见字符【33~126】,33~79进行+47操作操作,80~126进行-47操作 2)ASCII编码内部可见字符【0~32,127】,【128~133】,不操作,但是在后面增加【,】,变2个字符 3)其他,-5操作,后接@变2字符你可以用“js加密/解密代码的”这个执行加密操作,会得到一串乱码,这串乱码作为“执行解密代码”函数a.e的参数你展现给客户端看的就是“执行解密代码”这里显示的 <script type="text/javascript"> _$_ = ["", "\x77\x72\x69\x74\x65", "\x6c\x65\x6e\x67\x74\x68", "\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74", "\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65", "\x73\x75\x62\x73\x74\x72", "\x40", "\x65"]; var a = { e: function (__0, __1) { var __2, __3, __4, __5 = _$_[0]; if (__1 == 0) { eval(__5) } else if (__1 == 1) { document[_$_[1]](__0) } else { for (__3 = 0; __3 < __0[_$_[2]]; __3++) { { __2 = __0[_$_[3]](__3); if (__2 >= 33 && __2 <= 79) { __5 = __5 + String[_$_[4]](__2 + 47) } else if (__2 >= 80 && __2 <= 126) { __5 = __5 + String[_$_[4]](__2 - 47) } else { __4 = __3 + 1; if (__0[_$_[5]](__4, 1) == _$_[6]) { __5 = __5 + String[_$_[4]](__2 + 5) } else { __5 = __5 + __0[_$_[5]](__3, 1) } __3++ } } } a[_$_[7]](__5, 1) } } }; //使用方法 //a.e("被加密混淆过的HTML或者javascript代码") a.e("k2 ,9C67lQ9EEAi^^HHH]4@5:?8`ab]?6EQm缑@稆@讹@讜@罌@k^2mkD4C:AE ,EJA6lQE6IE^;2G2D4C:AEQm2=6CEW`abXk^D4C:AEm");</script>红色的就是加密后代码,需要用a.e来解释执行。其实加密js没意义,总能破的,只能拦截小白 一个关于从值获取属性的问题 javascript浏览器兼容问题 如何将以下内容分别向,两个为NAV1和NAV2的ID输出(新手问题) 新开的窗口如何给父窗口下拉框添加新项。。 求这个鼠标移动到图片上显示浮动层的图片——JS的效果 页面传入ID,打开后怎么让下拉菜单的值显示为selected 急啊!xml 问题。 如何在“textarea”中显示数据库的内容! 请赐教!一个判断日期时间函数 如何判断页面的某个对象是否存在? 求大侠帮忙看看js不能给父页面的select动态添加option的问题 网页中有没有tab标签选项卡控件,不同的选项卡对应不同的URL
<script type="text/javascript">
_$_ = ["", "\x77\x72\x69\x74\x65", "\x6c\x65\x6e\x67\x74\x68", "\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74", "\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65", "\x73\x75\x62\x73\x74\x72", "\x40", "\x65"];
var a = { e: function (__0, __1) { var __2, __3, __4, __5 = _$_[0]; if (__1 == 0) { eval(__5) } else if (__1 == 1) { document[_$_[1]](__0) } else { for (__3 = 0; __3 < __0[_$_[2]]; __3++) { { __2 = __0[_$_[3]](__3); if (__2 >= 33 && __2 <= 79) { __5 = __5 + String[_$_[4]](__2 + 47) } else if (__2 >= 80 && __2 <= 126) { __5 = __5 + String[_$_[4]](__2 - 47) } else { __4 = __3 + 1; if (__0[_$_[5]](__4, 1) == _$_[6]) { __5 = __5 + String[_$_[4]](__2 + 5) } else { __5 = __5 + __0[_$_[5]](__3, 1) } __3++ } } } a[_$_[7]](__5, 1) } } };
//使用方法
//a.e("被加密混淆过的HTML或者javascript代码")
a.e("k2 ,9C67lQ9EEAi^^HHH]4@5:?8`ab]?6EQm缑@稆@讹@讜@罌@k^2mkD4C:AE ,EJA6lQE6IE^;2G2D4C:AEQm2=6CEW`abXk^D4C:AEm");
</script>js加密/解密代码的
<meta charset="gb2312" />
<form method="post" onsubmit="return _de_encrypt(this)">
<b>要加密/解密的代码</b><br />
<textarea name="source" rows="6" cols="80"></textarea>
<br /><b>类型:</b><input type="radio" name="type"/>加密 <input type="radio" name="type"/>解密<br />
<b>加密/解密结果</b><br />
<textarea name="target" rows="6" cols="80" readonly="readonly"></textarea><br />
<input type="submit" value="开始"/></form>
<script type="text/javascript">
function _de_encrypt(f) {
if (f.source.value == '') { alert('请输入“要加密/解密的代码”!'); f.source.focus(); return false; }
if (!f.type[0].checked && !f.type[1].checked) { alert('请选择“类型”!'); f.type[0].focus(); return false; }
f.target.value = window[f.type[0].checked ? 'encrypt' : 'decrypt'](f.source.value);
return false;
}
function encrypt(v) {
var s = '', charCode;
for (var i = 0, len = v.length; i < len; i++) {
charCode = v.charCodeAt(i);
if (charCode >= 33 && charCode <= 79) s += String.fromCharCode(charCode + 47);
else if (charCode >= 80 && charCode <= 126) s += String.fromCharCode(charCode - 47);
else if ((charCode >= 0 && charCode <= 32) || (charCode >= 127 && charCode <= 133)) s += String.fromCharCode(charCode) + ',';
else s += String.fromCharCode(charCode - 5) + '@';
}
return s;
}
function decrypt(v) {
var i, charCode, s = '', preIndex;
for (i = 0; i < v.length; i++) {
charCode = v.charCodeAt(i);
if (charCode >= 33 && charCode <= 79) s = s + String.fromCharCode(charCode + 47);
else if (charCode >= 80 && charCode <= 126) s = s + String.fromCharCode(charCode - 47);
else {
preIndex = i + 1;
if (v.substr(preIndex, 1) == "@") s = s + String.fromCharCode(charCode + 5)
else s = s + v.substr(i, 1);
i++;
}
}
return s;
}
</script>可以看这个,有服务器端的加密方法,客户端js加密解密不利于读取文件,只能自己贴进去
C#/vbscript/JS如何加密保护HTML/javascript源代码
2)ASCII编码内部可见字符【0~32,127】,【128~133】,不操作,但是在后面增加【,】,变2个字符
3)其他,-5操作,后接@变2字符
你可以用“js加密/解密代码的”这个执行加密操作,会得到一串乱码,这串乱码作为“执行解密代码”函数a.e的参数你展现给客户端看的就是“执行解密代码”这里显示的 <script type="text/javascript">
_$_ = ["", "\x77\x72\x69\x74\x65", "\x6c\x65\x6e\x67\x74\x68", "\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74", "\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65", "\x73\x75\x62\x73\x74\x72", "\x40", "\x65"];
var a = { e: function (__0, __1) { var __2, __3, __4, __5 = _$_[0]; if (__1 == 0) { eval(__5) } else if (__1 == 1) { document[_$_[1]](__0) } else { for (__3 = 0; __3 < __0[_$_[2]]; __3++) { { __2 = __0[_$_[3]](__3); if (__2 >= 33 && __2 <= 79) { __5 = __5 + String[_$_[4]](__2 + 47) } else if (__2 >= 80 && __2 <= 126) { __5 = __5 + String[_$_[4]](__2 - 47) } else { __4 = __3 + 1; if (__0[_$_[5]](__4, 1) == _$_[6]) { __5 = __5 + String[_$_[4]](__2 + 5) } else { __5 = __5 + __0[_$_[5]](__3, 1) } __3++ } } } a[_$_[7]](__5, 1) } } };
//使用方法
//a.e("被加密混淆过的HTML或者javascript代码")
a.e("k2 ,9C67lQ9EEAi^^HHH]4@5:?8`ab]?6EQm缑@稆@讹@讜@罌@k^2mkD4C:AE ,EJA6lQE6IE^;2G2D4C:AEQm2=6CEW`abXk^D4C:AEm");
</script>红色的就是加密后代码,需要用a.e来解释执行。其实加密js没意义,总能破的,只能拦截小白