Тема: Encoder javascript
Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2012, 23:41
Интересующийся
Отправить личное сообщение для diprom Посмотреть профиль Найти все сообщения от diprom
 
Регистрация: 21.05.2011
Сообщений: 24

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"));
Ответить с цитированием