c html加密,js代码function(p,a,c,k,e,r)加密方式如何解密

下面是一段加密后的代码,很晕吧,但事实上只是使用了障眼法,把换行取消掉了而已,让我们排版一下再来看看到底是什么?

排版后

那么熟悉这种函数写法的应该就能明白这个加密原理了吧。只要细心点就能发现其实这种加密手段是用来防止一些拿来主意者。上面加密的js代码如果想得到其原代码可以在“return p;” 之前打印出来既可,例如:“document.writeln(p);”。 顺便介绍一下 eval 方法。

eval 方法

检查 Javascript 代码并执行.

eval(codeString)

必选项 codestring 参数是包含有效 Javascript 代码的字符串值。这个字符串将由 Javascript 分析器进行分析和执行。

说明

eval 函数允许 Javascript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :

eval(“var mydate = new Date();”);

传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.

这种语法是这样的,例如代码:

var test_func = function (par1, par2) {

alert("par1: "+par1+"npar2: "+par2);

}("我是第一个参数。", "还有我是第二个参数");

和下面代码效果是一样的:

function test_func (par1, par2) {

alert("par1: "+par1+"npar2: "+par2);

}

test_func("我是第一个参数。", "还有我是第二个参数");

解密function(p,a,c,k,e,r)用脚本,运行即可见效果:

js加密解密 - 志文工作室

a=62;

function encode() {

var code = document.getElementById('code').value;

code = code.replace(/[rn]+/g, '');

code = code.replace(/'/g, "\'");

var tmp = code.match(/b(w+)b/g);

tmp.sort();

var dict = [];

var i, t = '';

for(var i=0; i

if(tmp != t) dict.push(t = tmp);

}

var len = dict.length;

var ch;

for(i=0; i

ch = num(i);

code = code.replace(new RegExp('\b'+dict+'\b','g'), ch);

if(ch == dict) dict = '';

}

document.getElementById('code').value = "eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k)p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k);return p}(" + "'"+code+"',"+a+","+len+",'"+ dict.join('|')+"'.split('|'),0,{}))";

}

function num(c) {

return(c35?String.fromCharCode(c+29):c.toString(36));

}

function run() {

eval(document.getElementById('code').value);

}

function decode() {

var code = document.getElementById('code').value;

code = code.replace(/^eval/, '');

document.getElementById('code').value = eval(code);

}

推荐一个不错的在线加密解密工具:http://issmall.isgreat.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值