var X = 99992;
function C(c, a) {
for (var t = c.toString().length; t < a;) c = "0" + c, t++;
return c
};
function j(c) {
for (var a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"], t = "", e = 0; e < c; e++) {
t += a[Math.floor(35 * Math.random())]
}
return t
};
function J(c, a) {
var t = c,
e = a;
return E(t, e)
};
function E(c, a) {
return function (c) {
var a, t, e, o, i, s, n, d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split("");
for (t = e = 0, o = c.length, s = (o -= i = o % 3) / 3 << 2, i > 0 && (s += 4), a = new Array(s); t < o;) n = c.charCodeAt(t++) << 16 | c.charCodeAt(t++) << 8 | c.charCodeAt(t++), a[e++] = d[n >> 18] + d[n >> 12 & 63] + d[n >> 6 & 63] + d[63 & n];
return 1 == i ? (n = c.charCodeAt(t++), a[e++] = d[n >> 2] + d[(3 & n) << 4]) : 2 == i && (n = c.charCodeAt(t++) << 8 | c.charCodeAt(t++), a[e++] = d[n >> 10] + d[n >> 4 & 63] + d[(15 & n) << 2]), a.join("")
}(P(c, a, X))
};
function P(c, a, t) {
return void 0 === c || null === c || 0 === c.length ? c : (c = B(c), a = B(a), function (c, a) {
for (var t = c.length, e = 0; e < t; e++) c[e] = String.fromCharCode(255 & c[e], c[e] >>> 8 & 255, c[e] >>> 16 & 255, c[e] >>> 24 & 255);
var o = c.join("");
return o
}(function (c, a, t) {
var e, o, i, s, n, d, r = c.length,
p = r - 1;
for (o = c[p], i = 0, d = 0 | Math.floor(6 + 52 / r); d > 0; --d) {
for (i = D(i + F()), s = i >>> 2 & 3, n = 0; n < p; ++n) e = c[n + 1], o = c[n] = D(c[n] + N(i, e, o, n, s, a, t));
e = c[0], o = c[p] = D(c[p] + N(i, e, o, p, s, a, t))
}
return c
}(A(c, !0), function (c) {
return c.length < 4 && (c.length = 4), c
}(A(a, !1)), t)))
};
function F() {
return 1111471640 + parseInt(function (c) {
var a, t, e, o, i, s, n, d, r, p, h = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1];
if (n = c.length, c = (c += Array(5 - n % 4).join("=")).replace(/\-/g, "+").replace(/\_/g, "/"), /[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\+\/\=]/.test(c)) return "";
for (d = "=" == c.charAt(n - 2) ? 1 : "=" == c.charAt(n - 1) ? 2 : 0, r = n, d > 0 && (r -= 4), r = 3 * (r >> 2) + d, p = new Array(r), i = s = 0; i < n && -1 != (a = h[c.charCodeAt(i++)]) && -1 != (t = h[c.charCodeAt(i++)]) && (p[s++] = String.fromCharCode(a << 2 | (48 & t) >> 4), -1 != (e = h[c.charCodeAt(i++)])) && (p[s++] = String.fromCharCode((15 & t) << 4 | (60 & e) >> 2), -1 != (o = h[c.charCodeAt(i++)]));) p[s++] = String.fromCharCode((3 & e) << 6 | o);
return p.join("")
}("MTU0Mjk2NDEyOQ"))
};
function A(c, a) {
var t, e = c.length,
o = e >> 2;
0 != (3 & e) && ++o, a ? (t = new Array(o + 1))[o] = e : t = new Array(o);
for (var i = 0; i < e; ++i) t[i >> 2] |= c.charCodeAt(i) << ((3 & i) << 3);
return t
};
function D(c) {
return 4294967295 & c
};
function N(c, a, t, e, o, i, s) {
var n = s - 25700;
if (1 == n >>> 16) {
var d = n >>> 12 & 7,
r = n >>> 8 & 7,
p = n >>> 4 & 7,
h = 7 & n;
return O(c, a, t, e, o, i) ^ (a >>> d ^ t << r) + (c >>> p & 63 ^ t + a >>> (7 - h >>> 1) & 63)
}
return O(c, a, t, e, o, i)
};
function O(c, a, t, e, o, i) {
var s = {
aa: function (c, a) {
return c ^ a
}, bb: function (c, a) {
return c + a
}, cc: function (c, a) {
return c << a
}, dd: function (c, a) {
return c >>> a
}
};
return s.aa(s.bb(s.aa(t >>> 5, s.cc(a, 2)), s.aa(s.dd(a, 3), s.cc(t, 4))), (c ^ a) + (i[s.aa(3 & e, o)] ^ t))
};
function B(c) {
if (/^[\x00-\x7f]*$captcha/.test(c)) return c;
for (var a = [], t = c.length, e = 0, o = 0; e < t; ++e, ++o) {
var i = c.charCodeAt(e);
if (i < 128) a[o] = c.charAt(e);
else if (i < 2048) a[o] = String.fromCharCode(192 | i >> 6, 128 | 63 & i);
else {
if (!(i < 55296 || i > 57343)) {
if (e + 1 < t) {
var s = c.charCodeAt(e + 1);
if (i < 56320 && 56320 <= s && s <= 57343) {
var n = 65536 + ((1023 & i) << 10 | 1023 & s);
a[o] = String.fromCharCode(240 | n >> 18 & 63, 128 | n >> 12 & 63, 128 | n >> 6 & 63, 128 | 63 & n), ++e;
continue
}
}
throw new Error("Malformed string")
}
a[o] = String.fromCharCode(224 | i >> 12, 128 | i >> 6 & 63, 128 | 63 & i)
}
}
return a.join("")
};
function encode(data) {
return J(data, "123");
};
以上js使用V8调用
/////
根据上面的encode 加密的过程。写出一个反解密过程。