[JavaScript] 纯文本查看 复制代码function t(e, i, t) {
this.e = m(e),
this.d = m(i),
this.m = m(t),
this.chunkSize = 2 * N(this.m),
this.radix = 16,
this.barrett = new o(this.m)
}
function n(e, i) {
for (var t = new Array, n = i.length, o = 0; n > o;)
t[o] = i.charCodeAt(o),
o++;
for (; t.length % e.chunkSize != 0;)
t[o++] = 0;
var s, r, a, l = t.length,
c = "";
for (o = 0; l > o; o += e.chunkSize) {
for (a = new d,
s = 0,
r = o; r < o + e.chunkSize; ++s)
a.digits[s] = t[r++],
a.digits[s] += t[r++] << 8;
var u = e.barrett.powMod(a, e.e),
g = 16 == e.radix ? h(u) : f(u, e.radix);
c += g + " "
}
return c.substring(0, c.length - 1)
}
function o(e) {
this.modulus = c(e),
this.k = N(this.modulus) + 1;
var i = new d;
i.digits[2 * this.k] = 1,
this.mu = _(i, this.modulus),
this.bkplus1 = new d,
this.bkplus1.digits[this.k + 1] = 1,
this.modulo = s,
this.multiplyMod = r,
this.powMod = a
}
function s(e) {
var i = X(e, this.k - 1),
t = C(i, this.mu),
n = X(t, this.k + 1),
o = L(e, this.k + 1),
s = C(n, this.modulus),
r = L(s, this.k + 1),
a = b(o, r);
a.isNeg && (a = w(a, this.bkplus1));
for (var l = D(a, this.modulus) >= 0; l;)
a = b(a, this.modulus),
l = D(a, this.modulus) >= 0;
return a
}
function r(e, i) {
var t = C(e, i);
return this.modulo(t)
}
function a(e, i) {
var t = new d;
t.digits[0] = 1;
for (var n = e, o = i;;) {
if (0 != (1 & o.digits[0]) && (t = this.multiplyMod(t, n)),
o = M(o, 1),
0 == o.digits[0] && 0 == N(o)) break;
n = this.multiplyMod(n, n)
}
return t
}
function l(e) {
B = e,
z = new Array(B);
for (var i = 0; i < z.length; i+&#