Понимание шифрования строк

Итак, здесь я застрял в очень неудобной ситуации, когда мой js-разработчик остался без предупреждения, и он использовал какое-то строковое шифрование (которое я просил у него делать), которое я не могу найти через Интернет. У меня есть функция дешифрования, но не функция шифрования. Я не знаю, как он это сделал. :(

Вот функция расшифровки:

function decryptFunct(string1, string2) 
{
 var var1, var2 = "";
 for (var1 = 0; var1 < string1.length; var1 += 2) var2 += String.fromCharCode(parseInt(string1.substring(var1, var1 + 2), 16));
 var1 = var2;
 var var2 = [],
 var3 = 0, 
 var4 = 0, 
 var5 = 0, 
 var6 = 0,
 var7 = "";
 for (var3 = 0; var3 < 256; var3++) var2[var3] = var3;
 for (var3 = 0; var3 < 256; var3++) var6 = (var6 + var2[var3] + string2.charCodeAt(var3 % string2.length)) % 256, var4 = var2[var3], var2[var3] = var2[var6], var2[var6] = var4;
 for (var5 = var3 = var6 = 0; var5 < var1.length; var5++) var3 = (var3 + 1) % 256, var6 = (var6 + var2[var3]) % 256, var4 = var2[var3], var2[var3] = var2[var6], var2[var6] = var4, var7 += String.fromCharCode(var1.charCodeAt(var5) ^ var2[(var2[var3] + var2[var6]) % 256]);
 return var7;
}

key = "08144e3d408376b";
decryptFunct("685gf7195fb7", key);

Я не буду полностью решать это, я знаю, что это очень сложно, но любая помощь будет оценена по достоинству. :)

1 ответ

Итак, наконец, я понял это. Это rc4-поток шифрования.

licensed under cc by-sa 3.0 with attribution.