var t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
return typeof t;
} : function(t) {
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
};
!function(e, i) {
"object" === ("undefined" == typeof exports ? "undefined" : t(exports)) && "undefined" != typeof module ? i(exports) : "function" == typeof define && define.amd ? define([ "exports" ], i) : i(e.JSEncrypt = {});
}(void 0, function(t) {
function e(t) {
return R.charAt(t);
}
function i(t, e) {
return t & e;
}
function r(t, e) {
return t | e;
}
function n(t, e) {
return t ^ e;
}
function s(t, e) {
return t & ~e;
}
function o(t) {
if (0 == t) return -1;
var e = 0;
return 0 == (65535 & t) && (t >>= 16, e += 16), 0 == (255 & t) && (t >>= 8, e += 8),
0 == (15 & t) && (t >>= 4, e += 4), 0 == (3 & t) && (t >>= 2, e += 2), 0 == (1 & t) && ++e,
e;
}
function h(t) {
for (var e = 0; 0 != t; ) t &= t - 1, ++e;
return e;
}
function a(t) {
var e, i, r = "";
for (e = 0; e + 3 <= t.length; e += 3) i = parseInt(t.substring(e, e + 3), 16),
r += B.charAt(i >> 6) + B.charAt(63 & i);
for (e + 1 == t.length ? (i = parseInt(t.substring(e, e + 1), 16), r += B.charAt(i << 2)) : e + 2 == t.length && (i = parseInt(t.substring(e, e + 2), 16),
r += B.charAt(i >> 2) + B.charAt((3 & i) << 4)); (3 & r.length) > 0; ) r += A;
return r;
}
function u(t) {
var i, r = "", n = 0, s = 0;
for (i = 0; i < t.length && t.charAt(i) != A; ++i) {
var o = B.indexOf(t.charAt(i));
o < 0 || (0 == n ? (r += e(o >> 2), s = 3 & o, n = 1) : 1 == n ? (r += e(s << 2 | o >> 4),
s = 15 & o, n = 2) : 2 == n ? (r += e(s), r += e(o >> 2), s = 3 & o, n = 3) : (r += e(s << 2 | o >> 4),
r += e(15 & o), n = 0));
}
return 1 == n && (r += e(s << 2)), r;
}
function c(t, e) {
function i() {
this.constructor = t;
}
O(t, e), t.prototype = null === e ? Object.create(e) : (i.prototype = e.prototype,
new i());
}
function f(t, e) {
return t.length > e && (t = t.substring(0, e) + P), t;
}
function l() {
return new U(null);
}
function p(t, e) {
return new U(t, e);
}
function g(t, e) {
var i = $[t.charCodeAt(e)];
return null == i ? -1 : i;
}
function d(t) {
var e = l();
return e.fromInt(t), e;
}
function m(t) {
var e, i = 1;
return 0 != (e = t >>> 16) && (t = e, i += 16), 0 != (e = t >> 8) && (t = e, i += 8),
0 != (e = t >> 4) && (t = e, i += 4), 0 != (e = t >> 2) && (t = e, i += 2), 0 != (e = t >> 1) && (t = e,
i += 1), i;
}
function v() {
return new X();
}
function y() {
if (null == Y) {
for (Y = v(); J < Q; ) {
var t = Math.floor(65536 * Math.random());
W[J++] = 255 & t;
}
for (Y.init(W), J = 0; J < W.length; ++J) W[J] = 0;
J = 0;
}
return Y.next();
}
function b(t, e) {
if (e < t.length + 11) return console.error("Message too long for RSA"), null;
for (var i = [], r = t.length - 1; r >= 0 && e > 0; ) {
var n = t.charCodeAt(r--);
n < 128 ? i[--e] = n : n > 127 && n < 2048 ? (i[--e] = 63 & n | 128, i[--e] = n >> 6 | 192) : (i[--e] = 63 & n | 128,
i[--e] = n >> 6 & 63 | 128, i[--e] = n >> 12 | 224);
}
i[--e] = 0;
for (var s = new rt(), o = []; e > 2; ) {
for (o[0] = 0; 0 == o[0]; ) s.nextBytes(o);
i[--e] = o[0];
}
return i[--e] = 2, i[--e] = 0, new U(i);
}
function T(t, e) {
for (var i = t.toByteArray(), r = 0; r < i.length && 0 == i[r]; ) ++r;
if (i.length - r != e - 1 || 2 != i[r]) return null;
for (++r; 0 != i[r]; ) if (++r >= i.length) return null;
for (var n = ""; ++r < i.length; ) {
var s = 255 & i[r];
s < 128 ? n += String.fromCharCode(s) : s > 191 && s < 224 ? (n += String.fromCharCode((31 & s) << 6 | 63 & i[r + 1]),
++r) : (n += String.fromCharCode((15 & s) << 12 | (63 & i[r + 1]) << 6 | 63 & i[r + 2]),
r += 2);
}
return n;
}
var S, E, D, w = {}, x = {}, R = "0123456789abcdefghijklmnopqrstuvwxyz", B = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", A = "=", O = Object.setPrototypeOf || {
__proto__: []
} instanceof Array && function(t, e) {
t.__proto__ = e;
} || function(t, e) {
for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i]);
}, V = {
decode: function(t) {
var e;
if (void 0 === S) {
var i = "0123456789ABCDEF", r = " \f\n\r\t \u2028\u2029";
for (S = {}, e = 0; e < 16; ++e) S[i.charAt(e)] = e;
for (i = i.toLowerCase(), e = 10; e < 16; ++e) S[i.charAt(e)] = e;
for (e = 0; e < r.length; ++e) S[r.charAt(e)] = -1;
}
var n = [], s = 0, o = 0;
for (e = 0; e < t.length; ++e) {
var h = t.charAt(e);
if ("=" == h) break;
if (-1 != (h = S[h])) {
if (void 0 === h) throw new Error("Illegal character at offset " + e);
s |= h, ++o >= 2 ? (n[n.length] = s, s = 0, o = 0) : s <<= 4;
}
}
if (o) throw new Error("Hex encoding incomplete: 4 bits missing");
return n;
}
}, I = {
decode: function(t) {
var e;
if (void 0 === E) {
var i = "= \f\n\r\t \u2028\u2029";
for (E = Object.create(null), e = 0; e < 64; ++e) E["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)] = e;
for (e = 0; e < i.length; ++e) E[i.charAt(e)] = -1;
}
var r = [], n = 0, s = 0;
for (e = 0; e < t.length; ++e) {
var o = t.charAt(e);
if ("=" == o) break;
if (-1 != (o = E[o])) {
if (void 0 === o) throw new Error("Illegal character at offset " + e);
n |= o, ++s >= 4 ? (r[r.length] = n >> 16, r[r.length] = n >> 8 & 255, r[r.length] = 255 & n,
n = 0, s = 0) : n <<= 6;
}
}
switch (s) {
case 1:
throw new Error("Base64 encoding incomplete: at least 2 bits missing");
case 2:
r[r.length] = n >> 10;
break;
case 3:
r[r.length] = n >> 16, r[r.length] = n >> 8 & 255;
}
return r;
},
re: /-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,
unarmor: function(t) {
var e = I.re.exec(t);
if (e) if (e[1]) t = e[1]; else {
if (!e[2]) throw new Error("RegExp out of sync");
t = e[2];
}
return I.decode(t);
}
}, N = function() {
function t(t) {
this.buf = [ +t || 0 ];
}
return t.prototype.mulAdd = function(t, e) {
var i, r, n = this.buf, s = n.length;
for (i = 0; i < s; ++i) (r = n[i] * t + e) < 1e13 ? e = 0 : r -= 1e13 * (e = 0 | r / 1e13),
n[i] = r;
e > 0 && (n[i] = e);
}, t.prototype.sub = function(t) {
var e, i, r = this.buf, n = r.length;
for (e = 0; e < n; ++e) (i = r[e] - t) < 0 ? (i += 1e13, t = 1) : t = 0, r[e] = i;
for (;0 === r[r.len
评论1
最新资源