что за алгоритм шифрования?

Тема в разделе "WASM.CRYPTO", создана пользователем holod, 9 июн 2011.

  1. holod

    holod New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2009
    Сообщения:
    25
    Есть такой код на javascript:

    Код (Text):
    1. <script>
    2.     var vEval = eval;
    3.     var vAPLHA = ['i',"n",'Y','A','L',"q",'X','p',"H",'Q','d',"J","Z",'C','t','c','o',"g",'r','e',"P",'h','z','G',"O","l",'T','U',"j",'N',"u",'f','w','M',"k","x","b",'E',"m","W","D",'K',"R",'s','a','V',"S","v",'y',"B",'F','I'];
    4.  
    5.   var obj_001 = {
    6.  
    7.   vALPHA_2 : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    8.  
    9.  
    10.   func_001 : function (str_001) {
    11.      var var_001 = "";
    12.      var var_002, var_003, var_004;
    13.      var var_005, var_006, var_007, var_008;
    14.      var i = 0;
    15.  
    16.      
    17.      str_001 = str_001["replace"](/[^A-Za-z0-9\+\/\=]/g, "");
    18.  
    19.      while (i < str_001["length"]) {
    20.  
    21.        var_005 = this.vALPHA_2["indexOf"](str_001["charAt"](i++));
    22.        var_006 = this.vALPHA_2["indexOf"](str_001["charAt"](i++));
    23.        var_007 = this.vALPHA_2["indexOf"](str_001["charAt"](i++));
    24.        var_008 = this.vALPHA_2["indexOf"](str_001["charAt"](i++));
    25.  
    26.        var_002 = (var_005 << 2) | (var_006 >> 4);
    27.        var_003 = ((var_006 & 15) << 4) | (var_007 >> 2);
    28.        var_004 = ((var_007 & 3) << 6) | var_008;
    29.  
    30.        var_001 = var_001 + vEval("String.fromCharCode")(var_002);
    31.  
    32.        if (var_007 != 64) {
    33.          var_001 = var_001 + vEval("String.fromCharCode")(var_003);
    34.        }
    35.        if (var_008 != 64) {
    36.          var_001 = var_001 + vEval("String.fromCharCode")(var_004);
    37.        }
    38.      }
    39.  
    40.      return var_001;
    41.    }
    42. }
    43.  
    44. var obj_002 = (function(str_002){
    45.     return {
    46.  
    47. func_002:function(str_003, str_004){
    48. for(var
    49.   var_009 = str_003["length"],
    50.   var_015 = str_004["length"],
    51.   var_010 = [], var_011 = [],
    52.   i = 0, j = 0, var_012 = 0, l = 0, x;
    53.   i < 256; ++i
    54.    )   var_011[i] = i;
    55. for(i = 0; i < 256; ++i){
    56.   j = (j + var_011[i] + str_003["charCodeAt"](i % var_009)) % 256;
    57.   x = var_011[i];
    58.   var_011[i] = var_011[j];
    59.   var_011[j] = x;
    60. };
    61. i = 0; j = 0;
    62. for(var_012 = 0; var_012 < var_015; ++var_012){
    63.   i = (i+1) % 256;
    64.   j = (j + var_011[i]) % 256;
    65.   x = var_011[i];
    66.   var_011[i] = var_011[j];
    67.   var_011[j] = x;
    68.   var_010[var_012] = str_002(str_004["charCodeAt"](var_012) ^ var_011[(var_011[i] + var_011[j]) % 256]);
    69. };
    70. var var_013 = "";
    71. for(i = 0; i < var_010["length"]; ++i) var_013 += var_010[i];
    72. return var_013;
    73. }
    74. }
    75. })
    76. (eval("String.fromCharCode"));
    77.  
    78. var var_014 = vEval("document");
    79.  
    80.  
    81. var_014.write(obj_002.func_002('WQZFxHFQ', obj_001.func_001('LQerVz1c.......'));
    Это один из стандартных алгоритмов или что-то своё?
     
  2. holod

    holod New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2009
    Сообщения:
    25
    func_002 - это RC4. А вот func_001 - это что?
     
  3. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    http://javascript.ru/php/base64_decode