Encoder javascript
Здравствуйте.
Скажите, как можно быстро выполнить обратную операцию
шифрования текста от функции, которая расшифровывает javascript
по указанному коду ниже:
var S=new Array(256),i,j;
function prga(){var t;
i=(i + 1)%256;j=(j+S[i])%256;t=S[i];S[i]=S[j];S[j]=t;
return S[(S[i]+S[j])%256];}
function c2b(c){return c==43?62:c==47?63:c>47&&c<58?c+4:c>64&&c<91?c-
65:c>96&&c<123?c-71:-1;}
function dec(s,key){
var c0,c1,c2,c3,len=s.length,r="";
var c,t,key_length=key.length;
for(i=0;i<256;i++) S[i]=i;
for(i=j=0;i<256;i++){
j=(j+key.charCodeAt(i%key_length)+S[i])&255;
t=S[i];S[i]=S[j];S[j]=t;}
i=j=t=0;
while(t<len){
c0=c2b(s.charCodeAt(t++));c1=c2b(s.charCodeAt(t++) );c2=c2b(s.charCodeAt(t++));c3=c2b(s.c
harCodeAt(t++));
c0=((c0<<2)%256)|(c1>>4);c1=(((c1<<4)%256)|(c2>>2) );c2=(((c2<<6)%256)|c3);
c0^=prga();c1^=prga();c2^=prga();
r+=String.fromCharCode(c0);r+=String.fromCharCode( c1);r+=String.fromCharCode(c2);
}return r;}
eval(dec(s1,"1111111"));
|