是这样的,这段js代码是webqq中进行加密的算法。我打算把它翻译成C,但是我不懂js;希望有人能帮我解释一下这段代码的意思;如果能直接写出C或者C++版本就太好了,不过只要能告诉这段...
是这样的,这段js代码是webqq中进行加密的算法。我打算把它翻译成C,但是我不懂js;希望有人能帮我解释一下这段代码的意思;如果能直接写出C或者C++版本就太好了,不过只要能告诉这段代码的意思就行。
其中参数i和a都是字符串
function P(i,a)
{
var r=[];
r[0]=i>>24&255;
r[1]=i>>16&255;
r[2]=i>>8&255;
r[3]=i&255;
for(var j=[],e=0; e
e=[];
for(e.push(new b(0,j.length-1)); e.length>0;) {
var c=e.pop();
if(!(c.s>=c.e||c.s<0||c.e>=j.length))if(c.s+1==c.e) {
if(j[c.s]>j[c.e]) {
var l=j[c.s];
j[c.s]=j[c.e];
j[c.e]=l
}
} else {
for(var l=c.s,J=c.e,f=j[c.s]; c.s
for(; c.s=f;)c.e--,r[0]=r[0]+3&255;
c.s
for(; c.s
c.s
}
j[c.s]=f;
e.push(new b(l,c.s-1));
e.push(new b(c.s+1,J))
}
}
j=['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
e='';
for(c=0; c>4&15],e+=j[r[c]&15];
return e
}
b=function(b,i)
{
this.s=b||0;
this.e=i||0
}
展开