上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

js01学者网

[复制链接]
  • TA的每日心情
    奋斗
    昨天 11:05
  • 签到天数: 430 天

    [LV.9]以坛为家II

    148

    主题

    423

    回帖

    1144

    积分

    版主

    积分
    1144

    油中2周年生态建设者

    发表于 2021-4-12 15:11:38 | 显示全部楼层 | 阅读模式
    第一个参数密码 第二个cookies 第三第四固定
    1. `function strEnc(E, u, a, d) {
    2.     var g = E.length;
    3.     var h = "";
    4.     var B, v, s, F, f, l;
    5.     if (u != null && u != "") {
    6.         B = getKeyBytes(u);
    7.         F = B.length
    8.     }
    9.     if (a != null && a != "") {
    10.         v = getKeyBytes(a);
    11.         f = v.length
    12.     }
    13.     if (d != null && d != "") {
    14.         s = getKeyBytes(d);
    15.         l = s.length
    16.     }
    17.     if (g > 0) {
    18.         if (g < 4) {
    19.             var C = strToBt(E);
    20.             var e;
    21.             if (u != null && u != "" && a != null && a != "" && d != null && d != "") {
    22.                 var A;
    23.                 var q, p, o;
    24.                 A = C;
    25.                 for (q = 0; q < F; q++) {
    26.                     A = enc(A, B[q])
    27.                 }
    28.                 for (p = 0; p < f; p++) {
    29.                     A = enc(A, v[p])
    30.                 }
    31.                 for (o = 0; o < l; o++) {
    32.                     A = enc(A, s[o])
    33.                 }
    34.                 e = A
    35.             } else {
    36.                 if (u != null && u != "" && a != null && a != "") {
    37.                     var A;
    38.                     var q, p;
    39.                     A = C;
    40.                     for (q = 0; q < F; q++) {
    41.                         A = enc(A, B[q])
    42.                     }
    43.                     for (p = 0; p < f; p++) {
    44.                         A = enc(A, v[p])
    45.                     }
    46.                     e = A
    47.                 } else {
    48.                     if (u != null && u != "") {
    49.                         var A;
    50.                         var q = 0;
    51.                         A = C;
    52.                         for (q = 0; q < F; q++) {
    53.                             A = enc(A, B[q])
    54.                         }
    55.                         e = A
    56.                     }
    57.                 }
    58.             }
    59.             h = bt64ToHex(e)
    60.         } else {
    61.             var t = parseInt(g / 4);
    62.             var r = g % 4;
    63.             var w = 0;
    64.             for (w = 0; w < t; w++) {
    65.                 var c = E.substring(w * 4 + 0, w * 4 + 4);
    66.                 var D = strToBt(c);
    67.                 var e;
    68.                 if (u != null && u != "" && a != null && a != "" && d != null && d != "") {
    69.                     var A;
    70.                     var q, p, o;
    71.                     A = D;
    72.                     for (q = 0; q < F; q++) {
    73.                         A = enc(A, B[q])
    74.                     }
    75.                     for (p = 0; p < f; p++) {
    76.                         A = enc(A, v[p])
    77.                     }
    78.                     for (o = 0; o < l; o++) {
    79.                         A = enc(A, s[o])
    80.                     }
    81.                     e = A
    82.                 } else {
    83.                     if (u != null && u != "" && a != null && a != "") {
    84.                         var A;
    85.                         var q, p;
    86.                         A = D;
    87.                         for (q = 0; q < F; q++) {
    88.                             A = enc(A, B[q])
    89.                         }
    90.                         for (p = 0; p < f; p++) {
    91.                             A = enc(A, v[p])
    92.                         }
    93.                         e = A
    94.                     } else {
    95.                         if (u != null && u != "") {
    96.                             var A;
    97.                             var q;
    98.                             A = D;
    99.                             for (q = 0; q < F; q++) {
    100.                                 A = enc(A, B[q])
    101.                             }
    102.                             e = A
    103.                         }
    104.                     }
    105.                 }
    106.                 h += bt64ToHex(e)
    107.             }
    108.             if (r > 0) {
    109.                 var b = E.substring(t * 4 + 0, g);
    110.                 var D = strToBt(b);
    111.                 var e;
    112.                 if (u != null && u != "" && a != null && a != "" && d != null && d != "") {
    113.                     var A;
    114.                     var q, p, o;
    115.                     A = D;
    116.                     for (q = 0; q < F; q++) {
    117.                         A = enc(A, B[q])
    118.                     }
    119.                     for (p = 0; p < f; p++) {
    120.                         A = enc(A, v[p])
    121.                     }
    122.                     for (o = 0; o < l; o++) {
    123.                         A = enc(A, s[o])
    124.                     }
    125.                     e = A
    126.                 } else {
    127.                     if (u != null && u != "" && a != null && a != "") {
    128.                         var A;
    129.                         var q, p;
    130.                         A = D;
    131.                         for (q = 0; q < F; q++) {
    132.                             A = enc(A, B[q])
    133.                         }
    134.                         for (p = 0; p < f; p++) {
    135.                             A = enc(A, v[p])
    136.                         }
    137.                         e = A
    138.                     } else {
    139.                         if (u != null && u != "") {
    140.                             var A;
    141.                             var q;
    142.                             A = D;
    143.                             for (q = 0; q < F; q++) {
    144.                                 A = enc(A, B[q])
    145.                             }
    146.                             e = A
    147.                         }
    148.                     }
    149.                 }
    150.                 h += bt64ToHex(e)
    151.             }
    152.         }
    153.     }
    154.     return h
    155. }
    156. function strDec(D, t, a, c) {
    157.     var e = D.length;
    158.     var f = "";
    159.     var B, v, q, E, d, h;
    160.     if (t != null && t != "") {
    161.         B = getKeyBytes(t);
    162.         E = B.length
    163.     }
    164.     if (a != null && a != "") {
    165.         v = getKeyBytes(a);
    166.         d = v.length
    167.     }
    168.     if (c != null && c != "") {
    169.         q = getKeyBytes(c);
    170.         h = q.length
    171.     }
    172.     var s = parseInt(e / 16);
    173.     var A = 0;
    174.     for (A = 0; A < s; A++) {
    175.         var b = D.substring(A * 16 + 0, A * 16 + 16);
    176.         var g = hexToBt64(b);
    177.         var C = new Array(64);
    178.         var u = 0;
    179.         for (u = 0; u < 64; u++) {
    180.             C[u] = parseInt(g.substring(u, u + 1))
    181.         }
    182.         var r;
    183.         if (t != null && t != "" && a != null && a != "" && c != null && c != "") {
    184.             var w;
    185.             var p, o, l;
    186.             w = C;
    187.             for (p = h - 1; p >= 0; p--) {
    188.                 w = dec(w, q[p])
    189.             }
    190.             for (o = d - 1; o >= 0; o--) {
    191.                 w = dec(w, v[o])
    192.             }
    193.             for (l = E - 1; l >= 0; l--) {
    194.                 w = dec(w, B[l])
    195.             }
    196.             r = w
    197.         } else {
    198.             if (t != null && t != "" && a != null && a != "") {
    199.                 var w;
    200.                 var p, o, l;
    201.                 w = C;
    202.                 for (p = d - 1; p >= 0; p--) {
    203.                     w = dec(w, v[p])
    204.                 }
    205.                 for (o = E - 1; o >= 0; o--) {
    206.                     w = dec(w, B[o])
    207.                 }
    208.                 r = w
    209.             } else {
    210.                 if (t != null && t != "") {
    211.                     var w;
    212.                     var p, o, l;
    213.                     w = C;
    214.                     for (p = E - 1; p >= 0; p--) {
    215.                         w = dec(w, B[p])
    216.                     }
    217.                     r = w
    218.                 }
    219.             }
    220.         }
    221.         f += byteToString(r)
    222.     }
    223.     return f
    224. }
    225. function getKeyBytes(d) {
    226.     var a = new Array();
    227.     var c = d.length;
    228.     var e = parseInt(c / 4);
    229.     var f = c % 4;
    230.     var b = 0;
    231.     for (b = 0; b < e; b++) {
    232.         a[b] = strToBt(d.substring(b * 4 + 0, b * 4 + 4))
    233.     }
    234.     if (f > 0) {
    235.         a[b] = strToBt(d.substring(b * 4 + 0, c))
    236.     }
    237.     return a
    238. }
    239. function strToBt(l) {
    240.     var a = l.length;
    241.     var o = new Array(64);
    242.     if (a < 4) {
    243.         var g = 0
    244.           , f = 0
    245.           , c = 0
    246.           , b = 0;
    247.         for (g = 0; g < a; g++) {
    248.             var e = l.charCodeAt(g);
    249.             for (f = 0; f < 16; f++) {
    250.                 var h = 1
    251.                   , d = 0;
    252.                 for (d = 15; d > f; d--) {
    253.                     h *= 2
    254.                 }
    255.                 o[16 * g + f] = parseInt(e / h) % 2
    256.             }
    257.         }
    258.         for (c = a; c < 4; c++) {
    259.             var e = 0;
    260.             for (b = 0; b < 16; b++) {
    261.                 var h = 1
    262.                   , d = 0;
    263.                 for (d = 15; d > b; d--) {
    264.                     h *= 2
    265.                 }
    266.                 o[16 * c + b] = parseInt(e / h) % 2
    267.             }
    268.         }
    269.     } else {
    270.         for (g = 0; g < 4; g++) {
    271.             var e = l.charCodeAt(g);
    272.             for (f = 0; f < 16; f++) {
    273.                 var h = 1;
    274.                 for (d = 15; d > f; d--) {
    275.                     h *= 2
    276.                 }
    277.                 o[16 * g + f] = parseInt(e / h) % 2
    278.             }
    279.         }
    280.     }
    281.     return o
    282. }
    283. function bt4ToHex(b) {
    284.     var a;
    285.     switch (b) {
    286.     case "0000":
    287.         a = "0";
    288.         break;
    289.     case "0001":
    290.         a = "1";
    291.         break;
    292.     case "0010":
    293.         a = "2";
    294.         break;
    295.     case "0011":
    296.         a = "3";
    297.         break;
    298.     case "0100":
    299.         a = "4";
    300.         break;
    301.     case "0101":
    302.         a = "5";
    303.         break;
    304.     case "0110":
    305.         a = "6";
    306.         break;
    307.     case "0111":
    308.         a = "7";
    309.         break;
    310.     case "1000":
    311.         a = "8";
    312.         break;
    313.     case "1001":
    314.         a = "9";
    315.         break;
    316.     case "1010":
    317.         a = "A";
    318.         break;
    319.     case "1011":
    320.         a = "B";
    321.         break;
    322.     case "1100":
    323.         a = "C";
    324.         break;
    325.     case "1101":
    326.         a = "D";
    327.         break;
    328.     case "1110":
    329.         a = "E";
    330.         break;
    331.     case "1111":
    332.         a = "F";
    333.         break
    334.     }
    335.     return a
    336. }
    337. function hexToBt4(a) {
    338.     var b;
    339.     switch (a) {
    340.     case "0":
    341.         b = "0000";
    342.         break;
    343.     case "1":
    344.         b = "0001";
    345.         break;
    346.     case "2":
    347.         b = "0010";
    348.         break;
    349.     case "3":
    350.         b = "0011";
    351.         break;
    352.     case "4":
    353.         b = "0100";
    354.         break;
    355.     case "5":
    356.         b = "0101";
    357.         break;
    358.     case "6":
    359.         b = "0110";
    360.         break;
    361.     case "7":
    362.         b = "0111";
    363.         break;
    364.     case "8":
    365.         b = "1000";
    366.         break;
    367.     case "9":
    368.         b = "1001";
    369.         break;
    370.     case "A":
    371.         b = "1010";
    372.         break;
    373.     case "B":
    374.         b = "1011";
    375.         break;
    376.     case "C":
    377.         b = "1100";
    378.         break;
    379.     case "D":
    380.         b = "1101";
    381.         break;
    382.     case "E":
    383.         b = "1110";
    384.         break;
    385.     case "F":
    386.         b = "1111";
    387.         break
    388.     }
    389.     return b
    390. }
    391. function byteToString(d) {
    392.     var c = "";
    393.     for (i = 0; i < 4; i++) {
    394.         var b = 0;
    395.         for (j = 0; j < 16; j++) {
    396.             var a = 1;
    397.             for (m = 15; m > j; m--) {
    398.                 a *= 2
    399.             }
    400.             b += d[16 * i + j] * a
    401.         }
    402.         if (b != 0) {
    403.             c += String.fromCharCode(b)
    404.         }
    405.     }
    406.     return c
    407. }
    408. function bt64ToHex(c) {
    409.     var b = "";
    410.     for (i = 0; i < 16; i++) {
    411.         var a = "";
    412.         for (j = 0; j < 4; j++) {
    413.             a += c[i * 4 + j]
    414.         }
    415.         b += bt4ToHex(a)
    416.     }
    417.     return b
    418. }
    419. function hexToBt64(a) {
    420.     var b = "";
    421.     for (i = 0; i < 16; i++) {
    422.         b += hexToBt4(a.substring(i, i + 1))
    423.     }
    424.     return b
    425. }
    426. function enc(b, q) {
    427.     var t = generateKeys(q);
    428.     var p = initPermute(b);
    429.     var c = new Array(32);
    430.     var s = new Array(32);
    431.     var g = new Array(32);
    432.     var o = 0
    433.       , l = 0
    434.       , h = 0
    435.       , f = 0
    436.       , e = 0;
    437.     for (h = 0; h < 32; h++) {
    438.         c[h] = p[h];
    439.         s[h] = p[32 + h]
    440.     }
    441.     for (o = 0; o < 16; o++) {
    442.         for (l = 0; l < 32; l++) {
    443.             g[l] = c[l];
    444.             c[l] = s[l]
    445.         }
    446.         var r = new Array(48);
    447.         for (f = 0; f < 48; f++) {
    448.             r[f] = t[o][f]
    449.         }
    450.         var a = xor(pPermute(sBoxPermute(xor(expandPermute(s), r))), g);
    451.         for (e = 0; e < 32; e++) {
    452.             s[e] = a[e]
    453.         }
    454.     }
    455.     var d = new Array(64);
    456.     for (o = 0; o < 32; o++) {
    457.         d[o] = s[o];
    458.         d[32 + o] = c[o]
    459.     }
    460.     return finallyPermute(d)
    461. }
    462. function dec(b, q) {
    463.     var t = generateKeys(q);
    464.     var p = initPermute(b);
    465.     var c = new Array(32);
    466.     var s = new Array(32);
    467.     var g = new Array(32);
    468.     var o = 0
    469.       , l = 0
    470.       , h = 0
    471.       , f = 0
    472.       , e = 0;
    473.     for (h = 0; h < 32; h++) {
    474.         c[h] = p[h];
    475.         s[h] = p[32 + h]
    476.     }
    477.     for (o = 15; o >= 0; o--) {
    478.         for (l = 0; l < 32; l++) {
    479.             g[l] = c[l];
    480.             c[l] = s[l]
    481.         }
    482.         var r = new Array(48);
    483.         for (f = 0; f < 48; f++) {
    484.             r[f] = t[o][f]
    485.         }
    486.         var a = xor(pPermute(sBoxPermute(xor(expandPermute(s), r))), g);
    487.         for (e = 0; e < 32; e++) {
    488.             s[e] = a[e]
    489.         }
    490.     }
    491.     var d = new Array(64);
    492.     for (o = 0; o < 32; o++) {
    493.         d[o] = s[o];
    494.         d[32 + o] = c[o]
    495.     }
    496.     return finallyPermute(d)
    497. }
    498. function initPermute(b) {
    499.     var a = new Array(64);
    500.     for (i = 0,
    501.     m = 1,
    502.     n = 0; i < 4; i++,
    503.     m += 2,
    504.     n += 2) {
    505.         for (j = 7,
    506.         k = 0; j >= 0; j--,
    507.         k++) {
    508.             a[i * 8 + k] = b[j * 8 + m];
    509.             a[i * 8 + k + 32] = b[j * 8 + n]
    510.         }
    511.     }
    512.     return a
    513. }
    514. function expandPermute(a) {
    515.     var b = new Array(48);
    516.     for (i = 0; i < 8; i++) {
    517.         if (i == 0) {
    518.             b[i * 6 + 0] = a[31]
    519.         } else {
    520.             b[i * 6 + 0] = a[i * 4 - 1]
    521.         }
    522.         b[i * 6 + 1] = a[i * 4 + 0];
    523.         b[i * 6 + 2] = a[i * 4 + 1];
    524.         b[i * 6 + 3] = a[i * 4 + 2];
    525.         b[i * 6 + 4] = a[i * 4 + 3];
    526.         if (i == 7) {
    527.             b[i * 6 + 5] = a[0]
    528.         } else {
    529.             b[i * 6 + 5] = a[i * 4 + 4]
    530.         }
    531.     }
    532.     return b
    533. }
    534. function xor(c, b) {
    535.     var a = new Array(c.length);
    536.     for (i = 0; i < c.length; i++) {
    537.         a[i] = c[i] ^ b[i]
    538.     }
    539.     return a
    540. }
    541. function sBoxPermute(c) {
    542.     var a = new Array(32);
    543.     var e = "";
    544.     var r = [[14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7], [0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8], [4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0], [15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13]];
    545.     var q = [[15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10], [3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5], [0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15], [13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9]];
    546.     var p = [[10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8], [13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1], [13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7], [1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12]];
    547.     var o = [[7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15], [13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9], [10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4], [3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14]];
    548.     var l = [[2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9], [14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6], [4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14], [11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3]];
    549.     var h = [[12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11], [10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8], [9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6], [4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13]];
    550.     var g = [[4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1], [13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6], [1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2], [6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12]];
    551.     var f = [[13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7], [1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2], [7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8], [2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11]];
    552.     for (m = 0; m < 8; m++) {
    553.         var d = 0
    554.           , b = 0;
    555.         d = c[m * 6 + 0] * 2 + c[m * 6 + 5];
    556.         b = c[m * 6 + 1] * 2 * 2 * 2 + c[m * 6 + 2] * 2 * 2 + c[m * 6 + 3] * 2 + c[m * 6 + 4];
    557.         switch (m) {
    558.         case 0:
    559.             e = getBoxBinary(r[d][b]);
    560.             break;
    561.         case 1:
    562.             e = getBoxBinary(q[d][b]);
    563.             break;
    564.         case 2:
    565.             e = getBoxBinary(p[d][b]);
    566.             break;
    567.         case 3:
    568.             e = getBoxBinary(o[d][b]);
    569.             break;
    570.         case 4:
    571.             e = getBoxBinary(l[d][b]);
    572.             break;
    573.         case 5:
    574.             e = getBoxBinary(h[d][b]);
    575.             break;
    576.         case 6:
    577.             e = getBoxBinary(g[d][b]);
    578.             break;
    579.         case 7:
    580.             e = getBoxBinary(f[d][b]);
    581.             break
    582.         }
    583.         a[m * 4 + 0] = parseInt(e.substring(0, 1));
    584.         a[m * 4 + 1] = parseInt(e.substring(1, 2));
    585.         a[m * 4 + 2] = parseInt(e.substring(2, 3));
    586.         a[m * 4 + 3] = parseInt(e.substring(3, 4))
    587.     }
    588.     return a
    589. }
    590. function pPermute(b) {
    591.     var a = new Array(32);
    592.     a[0] = b[15];
    593.     a[1] = b[6];
    594.     a[2] = b[19];
    595.     a[3] = b[20];
    596.     a[4] = b[28];
    597.     a[5] = b[11];
    598.     a[6] = b[27];
    599.     a[7] = b[16];
    600.     a[8] = b[0];
    601.     a[9] = b[14];
    602.     a[10] = b[22];
    603.     a[11] = b[25];
    604.     a[12] = b[4];
    605.     a[13] = b[17];
    606.     a[14] = b[30];
    607.     a[15] = b[9];
    608.     a[16] = b[1];
    609.     a[17] = b[7];
    610.     a[18] = b[23];
    611.     a[19] = b[13];
    612.     a[20] = b[31];
    613.     a[21] = b[26];
    614.     a[22] = b[2];
    615.     a[23] = b[8];
    616.     a[24] = b[18];
    617.     a[25] = b[12];
    618.     a[26] = b[29];
    619.     a[27] = b[5];
    620.     a[28] = b[21];
    621.     a[29] = b[10];
    622.     a[30] = b[3];
    623.     a[31] = b[24];
    624.     return a
    625. }
    626. function finallyPermute(a) {
    627.     var b = new Array(64);
    628.     b[0] = a[39];
    629.     b[1] = a[7];
    630.     b[2] = a[47];
    631.     b[3] = a[15];
    632.     b[4] = a[55];
    633.     b[5] = a[23];
    634.     b[6] = a[63];
    635.     b[7] = a[31];
    636.     b[8] = a[38];
    637.     b[9] = a[6];
    638.     b[10] = a[46];
    639.     b[11] = a[14];
    640.     b[12] = a[54];
    641.     b[13] = a[22];
    642.     b[14] = a[62];
    643.     b[15] = a[30];
    644.     b[16] = a[37];
    645.     b[17] = a[5];
    646.     b[18] = a[45];
    647.     b[19] = a[13];
    648.     b[20] = a[53];
    649.     b[21] = a[21];
    650.     b[22] = a[61];
    651.     b[23] = a[29];
    652.     b[24] = a[36];
    653.     b[25] = a[4];
    654.     b[26] = a[44];
    655.     b[27] = a[12];
    656.     b[28] = a[52];
    657.     b[29] = a[20];
    658.     b[30] = a[60];
    659.     b[31] = a[28];
    660.     b[32] = a[35];
    661.     b[33] = a[3];
    662.     b[34] = a[43];
    663.     b[35] = a[11];
    664.     b[36] = a[51];
    665.     b[37] = a[19];
    666.     b[38] = a[59];
    667.     b[39] = a[27];
    668.     b[40] = a[34];
    669.     b[41] = a[2];
    670.     b[42] = a[42];
    671.     b[43] = a[10];
    672.     b[44] = a[50];
    673.     b[45] = a[18];
    674.     b[46] = a[58];
    675.     b[47] = a[26];
    676.     b[48] = a[33];
    677.     b[49] = a[1];
    678.     b[50] = a[41];
    679.     b[51] = a[9];
    680.     b[52] = a[49];
    681.     b[53] = a[17];
    682.     b[54] = a[57];
    683.     b[55] = a[25];
    684.     b[56] = a[32];
    685.     b[57] = a[0];
    686.     b[58] = a[40];
    687.     b[59] = a[8];
    688.     b[60] = a[48];
    689.     b[61] = a[16];
    690.     b[62] = a[56];
    691.     b[63] = a[24];
    692.     return b
    693. }
    694. function getBoxBinary(a) {
    695.     var b = "";
    696.     switch (a) {
    697.     case 0:
    698.         b = "0000";
    699.         break;
    700.     case 1:
    701.         b = "0001";
    702.         break;
    703.     case 2:
    704.         b = "0010";
    705.         break;
    706.     case 3:
    707.         b = "0011";
    708.         break;
    709.     case 4:
    710.         b = "0100";
    711.         break;
    712.     case 5:
    713.         b = "0101";
    714.         break;
    715.     case 6:
    716.         b = "0110";
    717.         break;
    718.     case 7:
    719.         b = "0111";
    720.         break;
    721.     case 8:
    722.         b = "1000";
    723.         break;
    724.     case 9:
    725.         b = "1001";
    726.         break;
    727.     case 10:
    728.         b = "1010";
    729.         break;
    730.     case 11:
    731.         b = "1011";
    732.         break;
    733.     case 12:
    734.         b = "1100";
    735.         break;
    736.     case 13:
    737.         b = "1101";
    738.         break;
    739.     case 14:
    740.         b = "1110";
    741.         break;
    742.     case 15:
    743.         b = "1111";
    744.         break
    745.     }
    746.     return b
    747. }
    748. function generateKeys(c) {
    749.     var e = new Array(56);
    750.     var f = new Array();
    751.     f[0] = new Array();
    752.     f[1] = new Array();
    753.     f[2] = new Array();
    754.     f[3] = new Array();
    755.     f[4] = new Array();
    756.     f[5] = new Array();
    757.     f[6] = new Array();
    758.     f[7] = new Array();
    759.     f[8] = new Array();
    760.     f[9] = new Array();
    761.     f[10] = new Array();
    762.     f[11] = new Array();
    763.     f[12] = new Array();
    764.     f[13] = new Array();
    765.     f[14] = new Array();
    766.     f[15] = new Array();
    767.     var a = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];
    768.     for (d = 0; d < 7; d++) {
    769.         for (j = 0,
    770.         k = 7; j < 8; j++,
    771.         k--) {
    772.             e[d * 8 + j] = c[8 * k + d]
    773.         }
    774.     }
    775.     var d = 0;
    776.     for (d = 0; d < 16; d++) {
    777.         var h = 0;
    778.         var b = 0;
    779.         for (j = 0; j < a[d]; j++) {
    780.             h = e[0];
    781.             b = e[28];
    782.             for (k = 0; k < 27; k++) {
    783.                 e[k] = e[k + 1];
    784.                 e[28 + k] = e[29 + k]
    785.             }
    786.             e[27] = h;
    787.             e[55] = b
    788.         }
    789.         var g = new Array(48);
    790.         g[0] = e[13];
    791.         g[1] = e[16];
    792.         g[2] = e[10];
    793.         g[3] = e[23];
    794.         g[4] = e[0];
    795.         g[5] = e[4];
    796.         g[6] = e[2];
    797.         g[7] = e[27];
    798.         g[8] = e[14];
    799.         g[9] = e[5];
    800.         g[10] = e[20];
    801.         g[11] = e[9];
    802.         g[12] = e[22];
    803.         g[13] = e[18];
    804.         g[14] = e[11];
    805.         g[15] = e[3];
    806.         g[16] = e[25];
    807.         g[17] = e[7];
    808.         g[18] = e[15];
    809.         g[19] = e[6];
    810.         g[20] = e[26];
    811.         g[21] = e[19];
    812.         g[22] = e[12];
    813.         g[23] = e[1];
    814.         g[24] = e[40];
    815.         g[25] = e[51];
    816.         g[26] = e[30];
    817.         g[27] = e[36];
    818.         g[28] = e[46];
    819.         g[29] = e[54];
    820.         g[30] = e[29];
    821.         g[31] = e[39];
    822.         g[32] = e[50];
    823.         g[33] = e[44];
    824.         g[34] = e[32];
    825.         g[35] = e[47];
    826.         g[36] = e[43];
    827.         g[37] = e[48];
    828.         g[38] = e[38];
    829.         g[39] = e[55];
    830.         g[40] = e[33];
    831.         g[41] = e[52];
    832.         g[42] = e[45];
    833.         g[43] = e[41];
    834.         g[44] = e[49];
    835.         g[45] = e[35];
    836.         g[46] = e[28];
    837.         g[47] = e[31];
    838.         switch (d) {
    839.         case 0:
    840.             for (m = 0; m < 48; m++) {
    841.                 f[0][m] = g[m]
    842.             }
    843.             break;
    844.         case 1:
    845.             for (m = 0; m < 48; m++) {
    846.                 f[1][m] = g[m]
    847.             }
    848.             break;
    849.         case 2:
    850.             for (m = 0; m < 48; m++) {
    851.                 f[2][m] = g[m]
    852.             }
    853.             break;
    854.         case 3:
    855.             for (m = 0; m < 48; m++) {
    856.                 f[3][m] = g[m]
    857.             }
    858.             break;
    859.         case 4:
    860.             for (m = 0; m < 48; m++) {
    861.                 f[4][m] = g[m]
    862.             }
    863.             break;
    864.         case 5:
    865.             for (m = 0; m < 48; m++) {
    866.                 f[5][m] = g[m]
    867.             }
    868.             break;
    869.         case 6:
    870.             for (m = 0; m < 48; m++) {
    871.                 f[6][m] = g[m]
    872.             }
    873.             break;
    874.         case 7:
    875.             for (m = 0; m < 48; m++) {
    876.                 f[7][m] = g[m]
    877.             }
    878.             break;
    879.         case 8:
    880.             for (m = 0; m < 48; m++) {
    881.                 f[8][m] = g[m]
    882.             }
    883.             break;
    884.         case 9:
    885.             for (m = 0; m < 48; m++) {
    886.                 f[9][m] = g[m]
    887.             }
    888.             break;
    889.         case 10:
    890.             for (m = 0; m < 48; m++) {
    891.                 f[10][m] = g[m]
    892.             }
    893.             break;
    894.         case 11:
    895.             for (m = 0; m < 48; m++) {
    896.                 f[11][m] = g[m]
    897.             }
    898.             break;
    899.         case 12:
    900.             for (m = 0; m < 48; m++) {
    901.                 f[12][m] = g[m]
    902.             }
    903.             break;
    904.         case 13:
    905.             for (m = 0; m < 48; m++) {
    906.                 f[13][m] = g[m]
    907.             }
    908.             break;
    909.         case 14:
    910.             for (m = 0; m < 48; m++) {
    911.                 f[14][m] = g[m]
    912.             }
    913.             break;
    914.         case 15:
    915.             for (m = 0; m < 48; m++) {
    916.                 f[15][m] = g[m]
    917.             }
    918.             break
    919.         }
    920.     }
    921.     return f
    922. }
    923. ;`

    复制代码


    I don't hate programming but the fucking world.

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表