獲取賬號密碼然後通過url編碼最後使用des加密
代碼如下:
z = function(e) {
for (var t = e.length; t < 24; t++)
e += "0";
return e
}
K = function(e) {
for (var t, n, r, o = new Array(0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964), a = new Array(0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697), i = new Array(0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272), s = new Array(0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144), c = new Array(0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256), u = new Array(0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488), l = new Array(0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746), d = new Array(0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568), f = new Array(0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578), m = new Array(0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488), p = new Array(0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800), v = new Array(0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744), h = new Array(0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128), g = new Array(0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261), w = e.length > 8 ? 3 : 1, y = new Array(32 * w), b = new Array(0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0), C = 0, A = 0, E = 0; E < w; E++) {
var I = e.charCodeAt(C++) << 24 | e.charCodeAt(C++) << 16 | e.charCodeAt(C++) << 8 | e.charCodeAt(C++)
, x = e.charCodeAt(C++) << 24 | e.charCodeAt(C++) << 16 | e.charCodeAt(C++) << 8 | e.charCodeAt(C++);
I ^= (r = 252645135 & (I >>> 4 ^ x)) << 4,
I ^= r = 65535 & ((x ^= r) >>> -16 ^ I),
I ^= (r = 858993459 & (I >>> 2 ^ (x ^= r << -16))) << 2,
I ^= r = 65535 & ((x ^= r) >>> -16 ^ I),
I ^= (r = 1431655765 & (I >>> 1 ^ (x ^= r << -16))) << 1,
I ^= r = 16711935 & ((x ^= r) >>> 8 ^ I),
r = (I ^= (r = 1431655765 & (I >>> 1 ^ (x ^= r << 8))) << 1) << 8 | (x ^= r) >>> 20 & 240,
I = x << 24 | x << 8 & 16711680 | x >>> 8 & 65280 | x >>> 24 & 240,
x = r;
for (var k = 0; k < b.length; k++)
b[k] ? (I = I << 2 | I >>> 26,
x = x << 2 | x >>> 26) : (I = I << 1 | I >>> 27,
x = x << 1 | x >>> 27),
x &= -15,
t = o[(I &= -15) >>> 28] | a[I >>> 24 & 15] | i[I >>> 20 & 15] | s[I >>> 16 & 15] | c[I >>> 12 & 15] | u[I >>> 8 & 15] | l[I >>> 4 & 15],
r = 65535 & ((n = d[x >>> 28] | f[x >>> 24 & 15] | m[x >>> 20 & 15] | p[x >>> 16 & 15] | v[x >>> 12 & 15] | h[x >>> 8 & 15] | g[x >>> 4 & 15]) >>> 16 ^ t),
y[A++] = t ^ r,
y[A++] = n ^ r << 16
}
return y
}
var V = function(e, t, n, r, o, a) {
n && (t = unescape(encodeURIComponent(t)));
var i, s, c, u, l, d, f, m, p, v, h, g, w, y, b = new Array(16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756), C = new Array(-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344), A = new Array(520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584), E = new Array(8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928), I = new Array(256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080), x = new Array(536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312), k = new Array(2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154), T = new Array(268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696), S = K(e), R = 0, P = t.length, L = 0, N = 32 == S.length ? 3 : 9;
m = 3 == N ? n ? new Array(0,32,2) : new Array(30,-2,-2) : n ? new Array(0,32,2,62,30,-2,64,96,2) : new Array(94,62,-2,32,64,2,30,-2,-2),
2 == a ? t += " " : 1 == a ? n && (c = 8 - P % 8,
t += String.fromCharCode(c, c, c, c, c, c, c, c),
8 === c && (P += 8)) : a || (t += "\0\0\0\0\0\0\0\0");
var M = ""
, _ = "";
for (1 == r && (p = o.charCodeAt(R++) << 24 | o.charCodeAt(R++) << 16 | o.charCodeAt(R++) << 8 | o.charCodeAt(R++),
h = o.charCodeAt(R++) << 24 | o.charCodeAt(R++) << 16 | o.charCodeAt(R++) << 8 | o.charCodeAt(R++),
R = 0); R < P; ) {
for (d = t.charCodeAt(R++) << 24 | t.charCodeAt(R++) << 16 | t.charCodeAt(R++) << 8 | t.charCodeAt(R++),
f = t.charCodeAt(R++) << 24 | t.charCodeAt(R++) << 16 | t.charCodeAt(R++) << 8 | t.charCodeAt(R++),
1 == r && (n ? (d ^= p,
f ^= h) : (v = p,
g = h,
p = d,
h = f)),
d ^= (c = 252645135 & (d >>> 4 ^ f)) << 4,
d ^= (c = 65535 & (d >>> 16 ^ (f ^= c))) << 16,
d ^= c = 858993459 & ((f ^= c) >>> 2 ^ d),
d ^= c = 16711935 & ((f ^= c << 2) >>> 8 ^ d),
d = (d ^= (c = 1431655765 & (d >>> 1 ^ (f ^= c << 8))) << 1) << 1 | d >>> 31,
f = (f ^= c) << 1 | f >>> 31,
s = 0; s < N; s += 3) {
for (w = m[s + 1],
y = m[s + 2],
i = m[s]; i != w; i += y)
u = f ^ S[i],
l = (f >>> 4 | f << 28) ^ S[i + 1],
c = d,
d = f,
f = c ^ (C[u >>> 24 & 63] | E[u >>> 16 & 63] | x[u >>> 8 & 63] | T[63 & u] | b[l >>> 24 & 63] | A[l >>> 16 & 63] | I[l >>> 8 & 63] | k[63 & l]);
c = d,
d = f,
f = c
}
f = f >>> 1 | f << 31,
f ^= c = 1431655765 & ((d = d >>> 1 | d << 31) >>> 1 ^ f),
f ^= (c = 16711935 & (f >>> 8 ^ (d ^= c << 1))) << 8,
f ^= (c = 858993459 & (f >>> 2 ^ (d ^= c))) << 2,
f ^= c = 65535 & ((d ^= c) >>> 16 ^ f),
f ^= c = 252645135 & ((d ^= c << 16) >>> 4 ^ f),
d ^= c << 4,
1 == r && (n ? (p = d,
h = f) : (d ^= v,
f ^= g)),
_ += String.fromCharCode(d >>> 24, d >>> 16 & 255, d >>> 8 & 255, 255 & d, f >>> 24, f >>> 16 & 255, f >>> 8 & 255, 255 & f),
512 == (L += 8) && (M += _,
_ = "",
L = 0)
}
if (M += _,
!n) {
if (1 === a) {
var $ = M.length
, U = 0;
$ && (U = M.charCodeAt($ - 1)),
U <= 8 && (M = M.substring(0, $ - U))
}
M = decodeURIComponent(escape(M))
}
return M
}
H = function(e, t, n) {
return {
key: z(e.slice(t, n)),
vector: 1
}
}
encrypt = function(e, t) {
var n = H(e, 0, 24);
return btoa(V(n.key, t, 1, 0, 0, 1))
}
password = encrypt(encodeURIComponent('username'), 'password')
password = encrypt(encodeURIComponent('123456'), '123456')
console.log(password);