atob 换成这个
function atob(a) {
var b, c, e, d, f, g = [-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];
d = a.length;
e = 0;
for (f = ""; e < d;) {
do b = g[a.charCodeAt(e++) & 255]; while (e < d && -1 == b);
if (-1 == b) break;
do c = g[a.charCodeAt(e++) & 255]; while (e < d && -1 == c);
if (-1 == c) break;
f += String.fromCharCode(b << 2 | (c & 48) >> 4);
do {
b = a.charCodeAt(e++) & 255;
if (61 == b) return f;
b = g[b]
} while (e < d && -1 == b);
if (-1 == b) break;
f += String.fromCharCode((c & 15) << 4 | (b & 60) >> 2);
do {
c = a.charCodeAt(e++) & 255;
if (61 == c) return f;
c = g[c]
} while (e < d && -1 == c);
if (-1 == c) break;
f += String.fromCharCode((b & 3) << 6 | c)
}
return f
}
function s(t) {
for (var e, i, a, s = new Array(0, 4, 536870912, 536870916, 65536, 65540, 536936448, 536936452, 512, 516, 536871424, 536871428, 66048, 66052, 536936960, 536936964), n = new Array(0, 1, 1048576, 1048577, 67108864, 67108865, 68157440, 68157441, 256, 257, 1048832, 1048833, 67109120, 67109121, 68157696, 68157697), o = new Array(0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272, 0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272), l = 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), r = new Array(0, 1024, 32, 1056, 0, 1024, 32, 1056, 33554432, 33555456, 33554464, 33555488, 33554432, 33555456, 33554464, 33555488), d = new Array(0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746, 0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746), h = new Array(0, 65536, 2048, 67584, 536870912, 536936448, 536872960, 536938496, 131072, 196608, 133120, 198656, 537001984, 537067520, 537004032, 537069568), u = new Array(0, 262144, 0, 262144, 2, 262146, 2, 262146, 33554432, 33816576, 33554432, 33816576, 33554434, 33816578, 33554434, 33816578), p = new Array(0, 268435456, 8, 268435464, 0, 268435456, 8, 268435464, 1024, 268436480, 1032, 268436488, 1024, 268436480, 1032, 268436488), v = new Array(0, 32, 0, 32, 1048576, 1048608, 1048576, 1048608, 8192, 8224, 8192, 8224, 1056768, 1056800, 1056768, 1056800), m = new Array(0, 16777216, 512, 16777728, 2097152, 18874368, 2097664, 18874880, 67108864, 83886080, 67109376, 83886592, 69206016, 85983232, 69206528, 85983744), f = 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), _ = t.length>8 ? 3 : 1, b = new Array(32 * _), y = new Array(0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0), w = 0, C = 0, x = 0; x<_; x++) {
var k = t.charCodeAt(w++) << 24 | t.charCodeAt(w++) << 16 | t.charCodeAt(w++) << 8 | t.charCodeAt(w++),
S = t.charCodeAt(w++) << 24 | t.charCodeAt(w++) << 16 | t.charCodeAt(w++) << 8 | t.charCodeAt(w++);
a = 252645135 & (k >>> 4 ^ S), S ^= a, k ^= a << 4, a = 65535 & (S >>> -16 ^ k), k ^= a, S ^= a << -16, a = 858993459 & (k >>> 2 ^ S), S ^= a, k ^= a << 2, a = 65535 & (S >>> -16 ^ k), k ^= a, S ^= a << -16, a = 1431655765 & (k >>> 1 ^ S), S ^= a, k ^= a << 1, a = 16711935 & (S >>> 8 ^ k), k ^= a, S ^= a << 8, a = 1431655765 & (k >>> 1 ^ S), S ^= a, k ^= a << 1, a = k << 8 | S >>> 20 & 240, k = S << 24 | S << 8 & 16711680 | S >>> 8 & 65280 | S >>> 24 & 240, S = a;
for (var $ = 0; $<y.length; $++) y[$] ? (k = k << 2 | k >>> 26, S = S << 2 | S >>> 26) : (k = k << 1 | k >>> 27, S = S << 1 | S >>> 27), k &= -15, S &= -15, e = s[k >>> 28] | n[k >>> 24 & 15] | o[k >>> 20 & 15] | l[k >>> 16 & 15] | c[k >>> 12 & 15] | r[k >>> 8 & 15] | d[k >>> 4 & 15], i = h[S >>> 28] | u[S >>> 24 & 15] | p[S >>> 20 & 15] | v[S >>> 16 & 15] | m[S >>> 12 & 15] | f[S >>> 8 & 15] | g[S >>> 4 & 15], a = 65535 & (i >>> 16 ^ e), b[C++] = e ^ a, b[C++] = i ^ a << 16
}
return b
}
function n(t) {
return JSON.parse(a("5e5062e82f15fe4ca9d24bc561080e0e",atob(t),0,0,"012345677890123",1))
}
var de='这边是加密数据';
console.log(n(de));
自己复制到控制台运行一下就行了
得到的是 object 内容里就有汉字 @
bestehen
function a(t, e, i, a, n, o) {
var l, c, r, d, h, u, p, v, m, f, g, _, b, y,
w = 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),
x = 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),
k = 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),
S = 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),
$ = 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),
z = 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),
A = 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),
I = s(t),
L = 0,
D = e.length,
T = 0,
P = 32 == I.length ? 3 : 9;
v = 3 == P ? i ? new Array(0, 32, 2) : new Array(30, -2, -2) : i ? new Array(0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array(94, 62, -2, 32, 64, 2, 30, -2, -2), 2 == o ? e += " " : 1 == o ? i && (r = 8 - D % 8, e += String.fromCharCode(r, r, r, r, r, r, r, r), 8 === r && (D += 8)) : o || (e += "\0\0\0\0\0\0\0\0");
var N = "",
M = "";
for (1 == a && (m = n.charCodeAt(L++) << 24 | n.charCodeAt(L++) << 16 | n.charCodeAt(L++) << 8 | n.charCodeAt(L++), g = n.charCodeAt(L++) << 24 | n.charCodeAt(L++) << 16 | n.charCodeAt(L++) << 8 | n.charCodeAt(L++), L = 0); L<D;) {
for (u = e.charCodeAt(L++) << 24 | e.charCodeAt(L++) << 16 | e.charCodeAt(L++) << 8 | e.charCodeAt(L++), p = e.charCodeAt(L++) << 24 | e.charCodeAt(L++) << 16 | e.charCodeAt(L++) << 8 | e.charCodeAt(L++), 1 == a && (i ? (u ^= m, p ^= g) : (f = m, _ = g, m = u, g = p)), r = 252645135 & (u >>> 4 ^ p), p ^= r, u ^= r << 4, r = 65535 & (u >>> 16 ^ p), p ^= r, u ^= r << 16, r = 858993459 & (p >>> 2 ^ u), u ^= r, p ^= r << 2, r = 16711935 & (p >>> 8 ^ u), u ^= r, p ^= r << 8, r = 1431655765 & (u >>> 1 ^ p), p ^= r, u ^= r << 1, u = u << 1 | u >>> 31, p = p << 1 | p >>> 31, c = 0; c<P; c += 3) {
for (b = v[c + 1], y = v[c + 2], l = v[c]; l != b; l += y) d = p ^ I[l], h = (p >>> 4 | p << 28) ^ I[l + 1], r = u, u = p, p = r ^ (C[d >>> 24 & 63] | k[d >>> 16 & 63] | $[d >>> 8 & 63] | A[63 & d] | w[h >>> 24 & 63] | x[h >>> 16 & 63] | S[h >>> 8 & 63] | z[63 & h]);
r = u, u = p, p = r
}
u = u >>> 1 | u << 31, p = p >>> 1 | p << 31, r = 1431655765 & (u >>> 1 ^ p), p ^= r, u ^= r << 1, r = 16711935 & (p >>> 8 ^ u), u ^= r, p ^= r << 8, r = 858993459 & (p >>> 2 ^ u), u ^= r, p ^= r << 2, r = 65535 & (u >>> 16 ^ p), p ^= r, u ^= r << 16, r = 252645135 & (u >>> 4 ^ p), p ^= r, u ^= r << 4, 1 == a && (i ? (m = u, g = p) : (u ^= f, p ^= _)), M += String.fromCharCode(u >>> 24, u >>> 16 & 255, u >>> 8 & 255, 255 & u, p >>> 24, p >>> 16 & 255, p >>> 8 & 255, 255 & p), T += 8, 512 == T && (N += M, M = "", T = 0)
}
if (N += M, N = N.replace(/\0*$/g, ""), !i) {
if (1 === o) {
var D = N.length,
j = 0;
D && (j = N.charCodeAt(D - 1)), j<=8 && (N = N.substring(0, D - j))
}
N = decodeURIComponent(escape(N))
}
return N
}