陆金所JS代码

陆金所JS代码

 window = this;
navigator={}
function BigInteger(t, e, r) {
    null != t && ("number" == typeof t ? this.fromNumber(t, e, r) : null == e && "string" != typeof t ? this.fromString(t, 256) : this.fromString(t, e))
}
function nbi() {
    return new BigInteger(null)
}
function am1(t, e, r, n, i, o) {
    for (; --o >= 0; ) {
        var a = e * this[t++] + r[n] + i;
        i = Math.floor(a / 67108864),
        r[n++] = 67108863 & a
    }
    return i
}
function am2(t, e, r, n, i, o) {
    for (var a = 32767 & e, s = e >> 15; --o >= 0; ) {
        var c = 32767 & this[t]
          , h = this[t++] >> 15
          , u = s * c + h * a;
        c = a * c + ((32767 & u) << 15) + r[n] + (1073741823 & i),
        i = (c >>> 30) + (u >>> 15) + s * h + (i >>> 30),
        r[n++] = 1073741823 & c
    }
    return i
}
function am3(t, e, r, n, i, o) {
    for (var a = 16383 & e, s = e >> 14; --o >= 0; ) {
        var c = 16383 & this[t]
          , h = this[t++] >> 14
          , u = s * c + h * a;
        c = a * c + ((16383 & u) << 14) + r[n] + i,
        i = (c >> 28) + (u >> 14) + s * h,
        r[n++] = 268435455 & c
    }
    return i
}
function int2char(t) {
    return BI_RM.charAt(t)
}
function intAt(t, e) {
    var r = BI_RC[t.charCodeAt(e)];
    return null == r ? -1 : r
}
function bnpCopyTo(t) {
    for (var e = this.t - 1; e >= 0; --e)
        t[e] = this[e];
    t.t = this.t,
    t.s = this.s
}
function bnpFromInt(t) {
    this.t = 1,
    this.s = t < 0 ? -1 : 0,
    t > 0 ? this[0] = t : t < -1 ? this[0] = t + DV : this.t = 0
}
function nbv(t) {
    var e = nbi();
    return e.fromInt(t),
    e
}
function bnpFromString(t, e) {
    var r;
    if (16 == e)
        r = 4;
    else if (8 == e)
        r = 3;
    else if (256 == e)
        r = 8;
    else if (2 == e)
        r = 1;
    else if (32 == e)
        r = 5;
    else {
        if (4 != e)
            return void this.fromRadix(t, e);
        r = 2
    }
    this.t = 0,
    this.s = 0;
    for (var n = t.length, i = !1, o = 0; --n >= 0; ) {
        var a = 8 == r ? 255 & t[n] : intAt(t, n);
        a < 0 ? "-" == t.charAt(n) && (i = !0) : (i = !1,
        0 == o ? this[this.t++] = a : o + r > this.DB ? (this[this.t - 1] |= (a & (1 << this.DB - o) - 1) << o,
        this[this.t++] = a >> this.DB - o) : this[this.t - 1] |= a << o,
        o += r,
        o >= this.DB && (o -= this.DB))
    }
    8 == r && 0 != (128 & t[0]) && (this.s = -1,
    o > 0 && (this[this.t - 1] |= (1 << this.DB - o) - 1 << o)),
    this.clamp(),
    i && BigInteger.ZERO.subTo(this, this)
}
function bnpClamp() {
    for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t; )
        --this.t
}
function bnToString(t) {
    if (this.s < 0)
        return "-" + this.negate().toString(t);
    var e;
    if (16 == t)
        e = 4;
    else if (8 == t)
        e = 3;
    else if (2 == t)
        e = 1;
    else if (32 == t)
        e = 5;
    else {
        if (4 != t)
            return this.toRadix(t);
        e = 2
    }
    var r, n = (1 << e) - 1, i = !1, o = "", a = this.t, s = this.DB - a * this.DB % e;
    if (a-- > 0)
        for (s < this.DB && (r = this[a] >> s) > 0 && (i = !0,
        o = int2char(r)); a >= 0; )
            s < e ? (r = (this[a] & (1 << s) - 1) << e - s,
            r |= this[--a] >> (s += this.DB - e)) : (r = this[a] >> (s -= e) & n,
            s <= 0 && (s += this.DB,
            --a)),
            r > 0 && (i = !0),
            i && (o += int2char(r));
    return i ? o : "0"
}
function bnNegate() {
    var t = nbi();
    return BigInteger.ZERO.subTo(this, t),
    t
}
function bnAbs() {
    return this.s < 0 ? this.negate() : this
}
function bnCompareTo(t) {
    var e = this.s - t.s;
    if (0 != e)
        return e;
    var r = this.t;
    if (e = r - t.t,
    0 != e)
        return e;
    for (; --r >= 0; )
        if (0 != (e = this[r] - t[r]))
            return e;
    return 0
}
function nbits(t) {
    var e, r = 1;
    return 0 != (e = t >>> 16) && (t = e,
    r += 16),
    0 != (e = t >> 8) && (t = e,
    r += 8),
    0 != (e = t >> 4) && (t = e,
    r += 4),
    0 != (e = t >> 2) && (t = e,
    r += 2),
    0 != (e = t >> 1) && (t = e,
    r += 1),
    r
}
function bnBitLength() {
    return this.t <= 0 ? 0 : this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM)
}
function bnpDLShiftTo(t, e) {
    var r;
    for (r = this.t - 1; r >= 0; --r)
        e[r + t] = this[r];
    for (r = t - 1; r >= 0; --r)
        e[r] = 0;
    e.t = this.t + t,
    e.s = this.s
}
function bnpDRShiftTo(t, e) {
    for (var r = t; r < this.t; ++r)
        e[r - t] = this[r];
    e.t = Math.max(this.t - t, 0),
    e.s = this.s
}
function bnpLShiftTo(t, e) {
    var r, n = t % this.DB, i = this.DB - n, o = (1 << i) - 1, a = Math.floor(t / this.DB), s = this.s << n & this.DM;
    for (r = this.t - 1; r >= 0; --r)
        e[r + a + 1] = this[r] >> i | s,
        s = (this[r] & o) << n;
    for (r = a - 1; r >= 0; --r)
        e[r] = 0;
    e[a] = s,
    e.t = this.t + a + 1,
    e.s = this.s,
    e.clamp()
}
function bnpRShiftTo(t, e) {
    e.s = this.s;
    var r = Math.floor(t / this.DB);
    if (r >= this.t)
        return void (e.t = 0);
    var n = t % this.DB
      , i = this.DB - n
      , o = (1 << n) - 1;
    e[0] = this[r] >> n;
    for (var a = r + 1; a < this.t; ++a)
        e[a - r - 1] |= (this[a] & o) << i,
        e[a - r] = this[a] >> n;
    n > 0 && (e[this.t - r - 1] |= (this.s & o) << i),
    e.t = this.t - r,
    e.clamp()
}
function bnpSubTo(t, e) {
    for (var r = 0, n = 0, i = Math.min(t.t, this.t); r < i; )
        n += this[r] - t[r],
        e[r++] = n & this.DM,
        n >>= this.DB;
    if (t.t < this.t) {
        for (n -= t.s; r < this.t; )
            n += this[r],
            e[r++] = n & this.DM,
            n >>= this.DB;
        n += this.s
    } else {
        for (n += this.s; r < t.t; )
            n -= t[r],
            e[r++] = n & this.DM,
            n >>= this.DB;
        n -= t.s
    }
    e.s = n < 0 ? -1 : 0,
    n < -1 ? e[r++] = this.DV + n : n > 0 && (e[r++] = n),
    e.t = r,
    e.clamp()
}
function bnpMultiplyTo(t, e) {
    var r = this.abs()
      , n = t.abs()
      , i = r.t;
    for (e.t = i + n.t; --i >= 0; )
        e[i] = 0;
    for (i = 0; i < n.t; ++i)
        e[i + r.t] = r.am(0, n[i], e, i, 0, r.t);
    e.s = 0,
    e.clamp(),
    this.s != t.s && BigInteger.ZERO.subTo(e, e)
}
function bnpSquareTo(t) {
    for (var e = this.abs(), r = t.t = 2 * e.t; --r >= 0; )
        t[r] = 0;
    for (r = 0; r < e.t - 1; ++r) {
        var n = e.am(r, e[r], t, 2 * r, 0, 1);
        (t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, n, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV,
        t[r + e.t + 1] = 1)
    }
    t.t > 0 && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)),
    t.s = 0,
    t.clamp()
}
function bnpDivRemTo(t, e, r) {
    var n = t.abs();
    if (!(n.t <= 0)) {
        var i = this.abs();
        if (i.t < n.t)
            return null != e && e.fromInt(0),
            void (null != r && this.copyTo(r));
        null == r && (r = nbi());
        var o = nbi()
          , a = this.s
          , s = t.s
          , c = this.DB - nbits(n[n.t - 1]);
        c > 0 ? (n.lShiftTo(c, o),
        i.lShiftTo(c, r)) : (n.copyTo(o),
        i.copyTo(r));
        var h = o.t
          , u = o[h - 1];
        if (0 != u) {
            var p = u * (1 << this.F1) + (h > 1 ? o[h - 2] >> this.F2 : 0)
              , g = this.FV / p
              , f = (1 << this.F1) / p
              , l = 1 << this.F2
              , d = r.t
              , m = d - h
              , v = null == e ? nbi() : e;
            for (o.dlShiftTo(m, v),
            r.compareTo(v) >= 0 && (r[r.t++] = 1,
            r.subTo(v, r)),
            BigInteger.ONE.dlShiftTo(h, v),
            v.subTo(o, o); o.t < h; )
                o[o.t++] = 0;
            for (; --m >= 0; ) {
                var _ = r[--d] == u ? this.DM : Math.floor(r[d] * g + (r[d - 1] + l) * f);
                if ((r[d] += o.am(0, _, r, m, 0, h)) < _)
                    for (o.dlShiftTo(m, v),
                    r.subTo(v, r); r[d] < --_; )
                        r.subTo(v, r)
            }
            null != e && (r.drShiftTo(h, e),
            a != s && BigInteger.ZERO.subTo(e, e)),
            r.t = h,
            r.clamp(),
            c > 0 && r.rShiftTo(c, r),
            a < 0 && BigInteger.ZERO.subTo(r, r)
        }
    }
}
function bnMod(t) {
    var e = nbi();
    return this.abs().divRemTo(t, null, e),
    this.s < 0 && e.compareTo(BigInteger.ZERO) > 0 && t.subTo(e, e),
    e
}
function Classic(t) {
    this.m = t
}
function cConvert(t) {
    return t.s < 0 || t.compareTo(this.m) >= 0 ? t.mod(this.m) : t
}
function cRevert(t) {
    return t
}
function cReduce(t) {
    t.divRemTo(this.m, null, t)
}
function cMulTo(t, e, r) {
    t.multiplyTo(e, r),
    this.reduce(r)
}
function cSqrTo(t, e) {
    t.squareTo(e),
    this.reduce(e)
}
function bnpInvDigit() {
    if (this.t < 1)
        return 0;
    var t = this[0];
    if (0 == (1 & t))
        return 0;
    var e = 3 & t;
    return e = e * (2 - (15 & t) * e) & 15,
    e = e * (2 - (255 & t) * e) & 255,
    e = e * (2 - ((65535 & t) * e & 65535)) & 65535,
    e = e * (2 - t * e % this.DV) % this.DV,
    e > 0 ? this.DV - e : -e
}
function Montgomery(t) {
    this.m = t,
    this.mp = t.invDigit(),
    this.mpl = 32767 & this.mp,
    this.mph = this.mp >> 15,
    this.um = (1 << t.DB - 15) - 1,
    this.mt2 = 2 * t.t
}
function montConvert(t) {
    var e = nbi();
    return t.abs().dlShiftTo(this.m.t, e),
    e.divRemTo(this.m, null, e),
    t.s < 0 && e.compareTo(BigInteger.ZERO) > 0 && this.m.subTo(e, e),
    e
}
function montRevert(t) {
    var e = nbi();
    return t.copyTo(e),
    this.reduce(e),
    e
}
function montReduce(t) {
    for (; t.t <= this.mt2; )
        t[t.t++] = 0;
    for (var e = 0; e < this.m.t; ++e) {
        var r = 32767 & t[e]
          , n = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;
        for (r = e + this.m.t,
        t[r] += this.m.am(0, n, t, e, 0, this.m.t); t[r] >= t.DV; )
            t[r] -= t.DV,
            t[++r]++
    }
    t.clamp(),
    t.drShiftTo(this.m.t, t),
    t.compareTo(this.m) >= 0 && t.subTo(this.m, t)
}
function montSqrTo(t, e) {
    t.squareTo(e),
    this.reduce(e)
}
function montMulTo(t, e, r) {
    t.multiplyTo(e, r),
    this.reduce(r)
}
function bnpIsEven() {
    return 0 == (this.t > 0 ? 1 & this[0] : this.s)
}
function bnpExp(t, e) {
    if (t > 4294967295 || t < 1)
        return BigInteger.ONE;
    var r = nbi()
      , n = nbi()
      , i = e.convert(this)
      , o = nbits(t) - 1;
    for (i.copyTo(r); --o >= 0; )
        if (e.sqrTo(r, n),
        (t & 1 << o) > 0)
            e.mulTo(n, i, r);
        else {
            var a = r;
            r = n,
            n = a
        }
    return e.revert(r)
}
function bnModPowInt(t, e) {
    var r;
    return r = t < 256 || e.isEven() ? new Classic(e) : new Montgomery(e),
    this.exp(t, r)
}
function Arcfour() {
    this.i = 0,
    this.j = 0,
    this.S = new Array
}
function ARC4init(t) {
    var e, r, n;
    for (e = 0; e < 256; ++e)
        this.S[e] = e;
    for (r = 0,
    e = 0; e < 256; ++e)
        r = r + this.S[e] + t[e % t.length] & 255,
        n = this.S[e],
        this.S[e] = this.S[r],
        this.S[r] = n;
    this.i = 0,
    this.j = 0
}
function ARC4next() {
    var t;
    return this.i = this.i + 1 & 255,
    this.j = this.j + this.S[this.i] & 255,
    t = this.S[this.i],
    this.S[this.i] = this.S[this.j],
    this.S[this.j] = t,
    this.S[t + this.S[this.i] & 255]
}
function prng_newstate() {
    return new Arcfour
}
function rng_seed_int(t) {
    rng_pool[rng_pptr++] ^= 255 & t,
    rng_pool[rng_pptr++] ^= t >> 8 & 255,
    rng_pool[rng_pptr++] ^= t >> 16 & 255,
    rng_pool[rng_pptr++] ^= t >> 24 & 255,
    rng_pptr >= rng_psize && (rng_pptr -= rng_psize)
}
function rng_seed_time() {
    rng_seed_int((new Date).getTime())
}
function rng_get_byte() {
    if (null == rng_state) {
        for (rng_seed_time(),
        rng_state = prng_newstate(),
        rng_state.init(rng_pool),
        rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)
            rng_pool[rng_pptr] = 0;
        rng_pptr = 0
    }
    return rng_state.next()
}
function rng_get_bytes(t) {
    var e;
    for (e = 0; e < t.length; ++e)
        t[e] = rng_get_byte()
}
function SecureRandom() {}
function parseBigInt(t, e) {
    return new BigInteger(t,e)
}
function linebrk(t, e) {
    for (var r = "", n = 0; n + e < t.length; )
        r += t.substring(n, n + e) + "\n",
        n += e;
    return r + t.substring(n, t.length)
}
function byte2Hex(t) {
    return t < 16 ? "0" + t.toString(16) : t.toString(16)
}
function pkcs1pad2(t, e) {
    if (e < t.length + 2)
        return alert("密码太长!"),
        null;
    var r = new Array
      , n = t.length - 1
      , i = t.length;
    if (!(i < 100))
        return alert("密码太长!"),
        null;
    r[0] = 48 + i / 10,
    r[1] = 48 + i % 10;
    var o = 2;
    for (n = 0; n < i && e > 0; )
        r[o++] = t.charCodeAt(n++);
    for (var a = new SecureRandom, s = new Array; o < e; ) {
        for (s[0] = 0; 0 == s[0]; )
            a.nextBytes(s);
        r[o++] = s[0]
    }
    return new BigInteger(r)
}
function RSAKey() {
    this.n = null,
    this.e = 0,
    this.d = null,
    this.p = null,
    this.q = null,
    this.dmp1 = null,
    this.dmq1 = null,
    this.coeff = null
}
function RSASetPublic(t, e) {
    null != t && null != e && t.length > 0 && e.length > 0 ? (this.n = parseBigInt(t, 16),
    this.e = parseInt(e, 16)) : alert("Invalid RSA public key")
}
function RSADoPublic(t) {
    return t.modPowInt(this.e, this.n)
}
function RSAEncrypt(t) {
    var e = pkcs1pad2(t, this.n.bitLength() + 7 >> 3);
    if (null == e)
        return null;
    var r = this.doPublic(e);
    if (null == r)
        return null;
    for (var n = r.toString(16).toUpperCase(), i = 256 - n.length, o = 0; o < i; o += 1)
        n = "0" + n;
    return n
}
function hex2b64(t) {
    var e, r, n = "";
    for (e = 0; e + 3 <= t.length; e += 3)
        r = parseInt(t.substring(e, e + 3), 16),
        n += b64map.charAt(r >> 6) + b64map.charAt(63 & r);
    for (e + 1 == t.length ? (r = parseInt(t.substring(e, e + 1), 16),
    n += b64map.charAt(r << 2)) : e + 2 == t.length && (r = parseInt(t.substring(e, e + 2), 16),
    n += b64map.charAt(r >> 2) + b64map.charAt((3 & r) << 4)); (3 & n.length) > 0; )
        n += b64pad;
    return n
}
function b64tohex(t) {
    var e, r, n = "", i = 0;
    for (e = 0; e < t.length && t.charAt(e) != b64pad; ++e)
        v = b64map.indexOf(t.charAt(e)),
        v < 0 || (0 == i ? (n += int2char(v >> 2),
        r = 3 & v,
        i = 1) : 1 == i ? (n += int2char(r << 2 | v >> 4),
        r = 15 & v,
        i = 2) : 2 == i ? (n += int2char(r),
        n += int2char(v >> 2),
        r = 3 & v,
        i = 3) : (n += int2char(r << 2 | v >> 4),
        n += int2char(15 & v),
        i = 0));
    return 1 == i && (n += int2char(r << 2)),
    n
}
function b64toBA(t) {
    var e, r = b64tohex(t), n = new Array;
    for (e = 0; 2 * e < r.length; ++e)
        n[e] = parseInt(r.substring(2 * e, 2 * e + 2), 16);
    return n
}
window.lufax = window.lufax || {
    version: "0.1.0"
},
lufax.util = lufax.util || {};
var dbits, canary = 0xdeadbeefcafe, j_lm = 15715070 == (16777215 & canary);
j_lm && "Microsoft Internet Explorer" == navigator.appName ? (BigInteger.prototype.am = am2,
dbits = 30) : j_lm && "Netscape" != navigator.appName ? (BigInteger.prototype.am = am1,
dbits = 26) : (BigInteger.prototype.am = am3,
dbits = 28),
BigInteger.prototype.DB = dbits,
BigInteger.prototype.DM = (1 << dbits) - 1,
BigInteger.prototype.DV = 1 << dbits;
var BI_FP = 52;
BigInteger.prototype.FV = Math.pow(2, BI_FP),
BigInteger.prototype.F1 = BI_FP - dbits,
BigInteger.prototype.F2 = 2 * dbits - BI_FP;
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz", BI_RC = new Array, rr, vv;
for (rr = "0".charCodeAt(0),
vv = 0; vv <= 9; ++vv)
    BI_RC[rr++] = vv;
for (rr = "a".charCodeAt(0),
vv = 10; vv < 36; ++vv)
    BI_RC[rr++] = vv;
for (rr = "A".charCodeAt(0),
vv = 10; vv < 36; ++vv)
    BI_RC[rr++] = vv;
Classic.prototype.convert = cConvert,
Classic.prototype.revert = cRevert,
Classic.prototype.reduce = cReduce,
Classic.prototype.mulTo = cMulTo,
Classic.prototype.sqrTo = cSqrTo,
Montgomery.prototype.convert = montConvert,
Montgomery.prototype.revert = montRevert,
Montgomery.prototype.reduce = montReduce,
Montgomery.prototype.mulTo = montMulTo,
Montgomery.prototype.sqrTo = montSqrTo,
BigInteger.prototype.copyTo = bnpCopyTo,
BigInteger.prototype.fromInt = bnpFromInt,
BigInteger.prototype.fromString = bnpFromString,
BigInteger.prototype.clamp = bnpClamp,
BigInteger.prototype.dlShiftTo = bnpDLShiftTo,
BigInteger.prototype.drShiftTo = bnpDRShiftTo,
BigInteger.prototype.lShiftTo = bnpLShiftTo,
BigInteger.prototype.rShiftTo = bnpRShiftTo,
BigInteger.prototype.subTo = bnpSubTo,
BigInteger.prototype.multiplyTo = bnpMultiplyTo,
BigInteger.prototype.squareTo = bnpSquareTo,
BigInteger.prototype.divRemTo = bnpDivRemTo,
BigInteger.prototype.invDigit = bnpInvDigit,
BigInteger.prototype.isEven = bnpIsEven,
BigInteger.prototype.exp = bnpExp,
BigInteger.prototype.toString = bnToString,
BigInteger.prototype.negate = bnNegate,
BigInteger.prototype.abs = bnAbs,
BigInteger.prototype.compareTo = bnCompareTo,
BigInteger.prototype.bitLength = bnBitLength,
BigInteger.prototype.mod = bnMod,
BigInteger.prototype.modPowInt = bnModPowInt,
BigInteger.ZERO = nbv(0),
BigInteger.ONE = nbv(1),
Arcfour.prototype.init = ARC4init,
Arcfour.prototype.next = ARC4next;
var rng_psize = 256, rng_state, rng_pool, rng_pptr;
if (null == rng_pool) {
    rng_pool = new Array,
    rng_pptr = 0;
    var t;
    if ("Netscape" == navigator.appName && navigator.appVersion < "5" && window.crypto) {
        var z = window.crypto.random(32);
        for (t = 0; t < z.length; ++t)
            rng_pool[rng_pptr++] = 255 & z.charCodeAt(t)
    }
    for (; rng_pptr < rng_psize; )
        t = Math.floor(65536 * Math.random()),
        rng_pool[rng_pptr++] = t >>> 8,
        rng_pool[rng_pptr++] = 255 & t;
    rng_pptr = 0,
    rng_seed_time()
}
SecureRandom.prototype.nextBytes = rng_get_bytes,
RSAKey.prototype.doPublic = RSADoPublic,
RSAKey.prototype.setPublic = RSASetPublic,
RSAKey.prototype.encrypt = RSAEncrypt;
var b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
  , b64pad = "="
  , CryptoJS = CryptoJS || function(t, e) {
    var r = {}
      , n = r.lib = {}
      , i = function() {}
      , o = n.Base = {
        extend: function(t) {
            i.prototype = this;
            var e = new i;
            return t && e.mixIn(t),
            e.hasOwnProperty("init") || (e.init = function() {
                e.$super.init.apply(this, arguments)
            }
            ),
            e.init.prototype = e,
            e.$super = this,
            e
        },
        create: function() {
            var t = this.extend();
            return t.init.apply(t, arguments),
            t
        },
        init: function() {},
        mixIn: function(t) {
            for (var e in t)
                t.hasOwnProperty(e) && (this[e] = t[e]);
            t.hasOwnProperty("toString") && (this.toString = t.toString)
        },
        clone: function() {
            return this.init.prototype.extend(this)
        }
    }
      , a = n.WordArray = o.extend({
        init: function(t, r) {
            t = this.words = t || [],
            this.sigBytes = r != e ? r : 4 * t.length
        },
        toString: function(t) {
            return (t || c).stringify(this)
        },
        concat: function(t) {
            var e = this.words
              , r = t.words
              , n = this.sigBytes;
            if (t = t.sigBytes,
            this.clamp(),
            n % 4)
                for (var i = 0; i < t; i++)
                    e[n + i >>> 2] |= (r[i >>> 2] >>> 24 - 8 * (i % 4) & 255) << 24 - 8 * ((n + i) % 4);
            else if (65535 < r.length)
                for (i = 0; i < t; i += 4)
                    e[n + i >>> 2] = r[i >>> 2];
            else
                e.push.apply(e, r);
            return this.sigBytes += t,
            this
        },
        clamp: function() {
            var e = this.words
              , r = this.sigBytes;
            e[r >>> 2] &= 4294967295 << 32 - 8 * (r % 4),
            e.length = t.ceil(r / 4)
        },
        clone: function() {
            var t = o.clone.call(this);
            return t.words = this.words.slice(0),
            t
        },
        random: function(e) {
            for (var r = [], n = 0; n < e; n += 4)
                r.push(4294967296 * t.random() | 0);
            return new a.init(r,e)
        }
    })
      , s = r.enc = {}
      , c = s.Hex = {
        stringify: function(t) {
            var e = t.words;
            t = t.sigBytes;
            for (var r = [], n = 0; n < t; n++) {
                var i = e[n >>> 2] >>> 24 - 8 * (n % 4) & 255;
                r.push((i >>> 4).toString(16)),
                r.push((15 & i).toString(16))
            }
            return r.join("")
        },
        parse: function(t) {
            for (var e = t.length, r = [], n = 0; n < e; n += 2)
                r[n >>> 3] |= parseInt(t.substr(n, 2), 16) << 24 - 4 * (n % 8);
            return new a.init(r,e / 2)
        }
    }
      , h = s.Latin1 = {
        stringify: function(t) {
            var e = t.words;
            t = t.sigBytes;
            for (var r = [], n = 0; n < t; n++)
                r.push(String.fromCharCode(e[n >>> 2] >>> 24 - 8 * (n % 4) & 255));
            return r.join("")
        },
        parse: function(t) {
            for (var e = t.length, r = [], n = 0; n < e; n++)
                r[n >>> 2] |= (255 & t.charCodeAt(n)) << 24 - 8 * (n % 4);
            return new a.init(r,e)
        }
    }
      , u = s.Utf8 = {
        stringify: function(t) {
            try {
                return decodeURIComponent(escape(h.stringify(t)))
            } catch (e) {
                throw Error("Malformed UTF-8 data")
            }
        },
        parse: function(t) {
            return h.parse(unescape(encodeURIComponent(t)))
        }
    }
      , p = n.BufferedBlockAlgorithm = o.extend({
        reset: function() {
            this._data = new a.init,
            this._nDataBytes = 0
        },
        _append: function(t) {
            "string" == typeof t && (t = u.parse(t)),
            this._data.concat(t),
            this._nDataBytes += t.sigBytes
        },
        _process: function(e) {
            var r = this._data
              , n = r.words
              , i = r.sigBytes
              , o = this.blockSize
              , s = i / (4 * o)
              , s = e ? t.ceil(s) : t.max((0 | s) - this._minBufferSize, 0);
            if (e = s * o,
            i = t.min(4 * e, i),
            e) {
                for (var c = 0; c < e; c += o)
                    this._doProcessBlock(n, c);
                c = n.splice(0, e),
                r.sigBytes -= i
            }
            return new a.init(c,i)
        },
        clone: function() {
            var t = o.clone.call(this);
            return t._data = this._data.clone(),
            t
        },
        _minBufferSize: 0
    });
    n.Hasher = p.extend({
        cfg: o.extend(),
        init: function(t) {
            this.cfg = this.cfg.extend(t),
            this.reset()
        },
        reset: function() {
            p.reset.call(this),
            this._doReset()
        },
        update: function(t) {
            return this._append(t),
            this._process(),
            this
        },
        finalize: function(t) {
            return t && this._append(t),
            this._doFinalize()
        },
        blockSize: 16,
        _createHelper: function(t) {
            return function(e, r) {
                return new t.init(r).finalize(e)
            }
        },
        _createHmacHelper: function(t) {
            return function(e, r) {
                return new g.HMAC.init(t,r).finalize(e)
            }
        }
    });
    var g = r.algo = {};
    return r
}(Math);
!function() {
    var t = CryptoJS
      , e = t.lib.WordArray;
    t.enc.Base64 = {
        stringify: function(t) {
            var e = t.words
              , r = t.sigBytes
              , n = this._map;
            t.clamp(),
            t = [];
            for (var i = 0; i < r; i += 3)
                for (var o = (e[i >>> 2] >>> 24 - 8 * (i % 4) & 255) << 16 | (e[i + 1 >>> 2] >>> 24 - 8 * ((i + 1) % 4) & 255) << 8 | e[i + 2 >>> 2] >>> 24 - 8 * ((i + 2) % 4) & 255, a = 0; 4 > a && i + .75 * a < r; a++)
                    t.push(n.charAt(o >>> 6 * (3 - a) & 63));
            if (e = n.charAt(64))
                for (; t.length % 4; )
                    t.push(e);
            return t.join("")
        },
        parse: function(t) {
            var r = t.length
              , n = this._map
              , i = n.charAt(64);
            i && (i = t.indexOf(i),
            -1 != i && (r = i));
            for (var i = [], o = 0, a = 0; a < r; a++)
                if (a % 4) {
                    var s = n.indexOf(t.charAt(a - 1)) << 2 * (a % 4)
                      , c = n.indexOf(t.charAt(a)) >>> 6 - 2 * (a % 4);
                    i[o >>> 2] |= (s | c) << 24 - 8 * (o % 4),
                    o++
                }
            return e.create(i, o)
        },
        _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
    }
}(),
function(t) {
    function e(t, e, r, n, i, o, a) {
        return t = t + (e & r | ~e & n) + i + a,
        (t << o | t >>> 32 - o) + e
    }
    function r(t, e, r, n, i, o, a) {
        return t = t + (e & n | r & ~n) + i + a,
        (t << o | t >>> 32 - o) + e
    }
    function n(t, e, r, n, i, o, a) {
        return t = t + (e ^ r ^ n) + i + a,
        (t << o | t >>> 32 - o) + e
    }
    function i(t, e, r, n, i, o, a) {
        return t = t + (r ^ (e | ~n)) + i + a,
        (t << o | t >>> 32 - o) + e
    }
    for (var o = CryptoJS, a = o.lib, s = a.WordArray, c = a.Hasher, a = o.algo, h = [], u = 0; 64 > u; u++)
        h[u] = 4294967296 * t.abs(t.sin(u + 1)) | 0;
    a = a.MD5 = c.extend({
        _doReset: function() {
            this._hash = new s.init([1732584193, 4023233417, 2562383102, 271733878])
        },
        _doProcessBlock: function(t, o) {
            for (var a = 0; 16 > a; a++) {
                var s = o + a
                  , c = t[s];
                t[s] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8)
            }
            var a = this._hash.words
              , s = t[o + 0]
              , c = t[o + 1]
              , u = t[o + 2]
              , p = t[o + 3]
              , g = t[o + 4]
              , f = t[o + 5]
              , l = t[o + 6]
              , d = t[o + 7]
              , m = t[o + 8]
              , v = t[o + 9]
              , _ = t[o + 10]
              , S = t[o + 11]
              , b = t[o + 12]
              , w = t[o + 13]
              , y = t[o + 14]
              , E = t[o + 15]
              , A = a[0]
              , x = a[1]
              , T = a[2]
              , I = a[3]
              , A = e(A, x, T, I, s, 7, h[0])
              , I = e(I, A, x, T, c, 12, h[1])
              , T = e(T, I, A, x, u, 17, h[2])
              , x = e(x, T, I, A, p, 22, h[3])
              , A = e(A, x, T, I, g, 7, h[4])
              , I = e(I, A, x, T, f, 12, h[5])
              , T = e(T, I, A, x, l, 17, h[6])
              , x = e(x, T, I, A, d, 22, h[7])
              , A = e(A, x, T, I, m, 7, h[8])
              , I = e(I, A, x, T, v, 12, h[9])
              , T = e(T, I, A, x, _, 17, h[10])
              , x = e(x, T, I, A, S, 22, h[11])
              , A = e(A, x, T, I, b, 7, h[12])
              , I = e(I, A, x, T, w, 12, h[13])
              , T = e(T, I, A, x, y, 17, h[14])
              , x = e(x, T, I, A, E, 22, h[15])
              , A = r(A, x, T, I, c, 5, h[16])
              , I = r(I, A, x, T, l, 9, h[17])
              , T = r(T, I, A, x, S, 14, h[18])
              , x = r(x, T, I, A, s, 20, h[19])
              , A = r(A, x, T, I, f, 5, h[20])
              , I = r(I, A, x, T, _, 9, h[21])
              , T = r(T, I, A, x, E, 14, h[22])
              , x = r(x, T, I, A, g, 20, h[23])
              , A = r(A, x, T, I, v, 5, h[24])
              , I = r(I, A, x, T, y, 9, h[25])
              , T = r(T, I, A, x, p, 14, h[26])
              , x = r(x, T, I, A, m, 20, h[27])
              , A = r(A, x, T, I, w, 5, h[28])
              , I = r(I, A, x, T, u, 9, h[29])
              , T = r(T, I, A, x, d, 14, h[30])
              , x = r(x, T, I, A, b, 20, h[31])
              , A = n(A, x, T, I, f, 4, h[32])
              , I = n(I, A, x, T, m, 11, h[33])
              , T = n(T, I, A, x, S, 16, h[34])
              , x = n(x, T, I, A, y, 23, h[35])
              , A = n(A, x, T, I, c, 4, h[36])
              , I = n(I, A, x, T, g, 11, h[37])
              , T = n(T, I, A, x, d, 16, h[38])
              , x = n(x, T, I, A, _, 23, h[39])
              , A = n(A, x, T, I, w, 4, h[40])
              , I = n(I, A, x, T, s, 11, h[41])
              , T = n(T, I, A, x, p, 16, h[42])
              , x = n(x, T, I, A, l, 23, h[43])
              , A = n(A, x, T, I, v, 4, h[44])
              , I = n(I, A, x, T, b, 11, h[45])
              , T = n(T, I, A, x, E, 16, h[46])
              , x = n(x, T, I, A, u, 23, h[47])
              , A = i(A, x, T, I, s, 6, h[48])
              , I = i(I, A, x, T, d, 10, h[49])
              , T = i(T, I, A, x, y, 15, h[50])
              , x = i(x, T, I, A, f, 21, h[51])
              , A = i(A, x, T, I, b, 6, h[52])
              , I = i(I, A, x, T, p, 10, h[53])
              , T = i(T, I, A, x, _, 15, h[54])
              , x = i(x, T, I, A, c, 21, h[55])
              , A = i(A, x, T, I, m, 6, h[56])
              , I = i(I, A, x, T, E, 10, h[57])
              , T = i(T, I, A, x, l, 15, h[58])
              , x = i(x, T, I, A, w, 21, h[59])
              , A = i(A, x, T, I, g, 6, h[60])
              , I = i(I, A, x, T, S, 10, h[61])
              , T = i(T, I, A, x, u, 15, h[62])
              , x = i(x, T, I, A, v, 21, h[63]);
            a[0] = a[0] + A | 0,
            a[1] = a[1] + x | 0,
            a[2] = a[2] + T | 0,
            a[3] = a[3] + I | 0
        },
        _doFinalize: function() {
            var e = this._data
              , r = e.words
              , n = 8 * this._nDataBytes
              , i = 8 * e.sigBytes;
            r[i >>> 5] |= 128 << 24 - i % 32;
            var o = t.floor(n / 4294967296);
            for (r[(i + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8),
            r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8),
            e.sigBytes = 4 * (r.length + 1),
            this._process(),
            e = this._hash,
            r = e.words,
            n = 0; 4 > n; n++)
                i = r[n],
                r[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);
            return e
        },
        clone: function() {
            var t = c.clone.call(this);
            return t._hash = this._hash.clone(),
            t
        }
    }),
    o.MD5 = c._createHelper(a),
    o.HmacMD5 = c._createHmacHelper(a)
}(Math),
function() {
    var t = CryptoJS
      , e = t.lib
      , r = e.Base
      , n = e.WordArray
      , e = t.algo
      , i = e.EvpKDF = r.extend({
        cfg: r.extend({
            keySize: 4,
            hasher: e.MD5,
            iterations: 1
        }),
        init: function(t) {
            this.cfg = this.cfg.extend(t)
        },
        compute: function(t, e) {
            for (var r = this.cfg, i = r.hasher.create(), o = n.create(), a = o.words, s = r.keySize, r = r.iterations; a.length < s; ) {
                c && i.update(c);
                var c = i.update(t).finalize(e);
                i.reset();
                for (var h = 1; h < r; h++)
                    c = i.finalize(c),
                    i.reset();
                o.concat(c)
            }
            return o.sigBytes = 4 * s,
            o
        }
    });
    t.EvpKDF = function(t, e, r) {
        return i.create(r).compute(t, e)
    }
}(),
CryptoJS.lib.Cipher || function(t) {
    var e = CryptoJS
      , r = e.lib
      , n = r.Base
      , i = r.WordArray
      , o = r.BufferedBlockAlgorithm
      , a = e.enc.Base64
      , s = e.algo.EvpKDF
      , c = r.Cipher = o.extend({
        cfg: n.extend(),
        createEncryptor: function(t, e) {
            return this.create(this._ENC_XFORM_MODE, t, e)
        },
        createDecryptor: function(t, e) {
            return this.create(this._DEC_XFORM_MODE, t, e)
        },
        init: function(t, e, r) {
            this.cfg = this.cfg.extend(r),
            this._xformMode = t,
            this._key = e,
            this.reset()
        },
        reset: function() {
            o.reset.call(this),
            this._doReset()
        },
        process: function(t) {
            return this._append(t),
            this._process()
        },
        finalize: function(t) {
            return t && this._append(t),
            this._doFinalize()
        },
        keySize: 4,
        ivSize: 4,
        _ENC_XFORM_MODE: 1,
        _DEC_XFORM_MODE: 2,
        _createHelper: function(t) {
            return {
                encrypt: function(e, r, n) {
                    return ("string" == typeof r ? l : f).encrypt(t, e, r, n)
                },
                decrypt: function(e, r, n) {
                    return ("string" == typeof r ? l : f).decrypt(t, e, r, n)
                }
            }
        }
    });
    r.StreamCipher = c.extend({
        _doFinalize: function() {
            return this._process(!0)
        },
        blockSize: 1
    });
    var h = e.mode = {}
      , u = function(e, r, n) {
        var i = this._iv;
        i ? this._iv = t : i = this._prevBlock;
        for (var o = 0; o < n; o++)
            e[r + o] ^= i[o]
    }
      , p = (r.BlockCipherMode = n.extend({
        createEncryptor: function(t, e) {
            return this.Encryptor.create(t, e)
        },
        createDecryptor: function(t, e) {
            return this.Decryptor.create(t, e)
        },
        init: function(t, e) {
            this._cipher = t,
            this._iv = e
        }
    })).extend();
    p.Encryptor = p.extend({
        processBlock: function(t, e) {
            var r = this._cipher
              , n = r.blockSize;
            u.call(this, t, e, n),
            r.encryptBlock(t, e),
            this._prevBlock = t.slice(e, e + n)
        }
    }),
    p.Decryptor = p.extend({
        processBlock: function(t, e) {
            var r = this._cipher
              , n = r.blockSize
              , i = t.slice(e, e + n);
            r.decryptBlock(t, e),
            u.call(this, t, e, n),
            this._prevBlock = i
        }
    }),
    h = h.CBC = p,
    p = (e.pad = {}).Pkcs7 = {
        pad: function(t, e) {
            for (var r = 4 * e, r = r - t.sigBytes % r, n = r << 24 | r << 16 | r << 8 | r, o = [], a = 0; a < r; a += 4)
                o.push(n);
            r = i.create(o, r),
            t.concat(r)
        },
        unpad: function(t) {
            t.sigBytes -= 255 & t.words[t.sigBytes - 1 >>> 2]
        }
    },
    r.BlockCipher = c.extend({
        cfg: c.cfg.extend({
            mode: h,
            padding: p
        }),
        reset: function() {
            c.reset.call(this);
            var t = this.cfg
              , e = t.iv
              , t = t.mode;
            if (this._xformMode == this._ENC_XFORM_MODE)
                var r = t.createEncryptor;
            else
                r = t.createDecryptor,
                this._minBufferSize = 1;
            this._mode = r.call(t, this, e && e.words)
        },
        _doProcessBlock: function(t, e) {
            this._mode.processBlock(t, e)
        },
        _doFinalize: function() {
            var t = this.cfg.padding;
            if (this._xformMode == this._ENC_XFORM_MODE) {
                t.pad(this._data, this.blockSize);
                var e = this._process(!0)
            } else
                e = this._process(!0),
                t.unpad(e);
            return e
        },
        blockSize: 4
    });
    var g = r.CipherParams = n.extend({
        init: function(t) {
            this.mixIn(t)
        },
        toString: function(t) {
            return (t || this.formatter).stringify(this)
        }
    })
      , h = (e.format = {}).OpenSSL = {
        stringify: function(t) {
            var e = t.ciphertext;
            return t = t.salt,
            (t ? i.create([1398893684, 1701076831]).concat(t).concat(e) : e).toString(a)
        },
        parse: function(t) {
            t = a.parse(t);
            var e = t.words;
            if (1398893684 == e[0] && 1701076831 == e[1]) {
                var r = i.create(e.slice(2, 4));
                e.splice(0, 4),
                t.sigBytes -= 16
            }
            return g.create({
                ciphertext: t,
                salt: r
            })
        }
    }
      , f = r.SerializableCipher = n.extend({
        cfg: n.extend({
            format: h
        }),
        encrypt: function(t, e, r, n) {
            n = this.cfg.extend(n);
            var i = t.createEncryptor(r, n);
            return e = i.finalize(e),
            i = i.cfg,
            g.create({
                ciphertext: e,
                key: r,
                iv: i.iv,
                algorithm: t,
                mode: i.mode,
                padding: i.padding,
                blockSize: t.blockSize,
                formatter: n.format
            })
        },
        decrypt: function(t, e, r, n) {
            return n = this.cfg.extend(n),
            e = this._parse(e, n.format),
            t.createDecryptor(r, n).finalize(e.ciphertext)
        },
        _parse: function(t, e) {
            return "string" == typeof t ? e.parse(t, this) : t
        }
    })
      , e = (e.kdf = {}).OpenSSL = {
        execute: function(t, e, r, n) {
            return n || (n = i.random(8)),
            t = s.create({
                keySize: e + r
            }).compute(t, n),
            r = i.create(t.words.slice(e), 4 * r),
            t.sigBytes = 4 * e,
            g.create({
                key: t,
                iv: r,
                salt: n
            })
        }
    }
      , l = r.PasswordBasedCipher = f.extend({
        cfg: f.cfg.extend({
            kdf: e
        }),
        encrypt: function(t, e, r, n) {
            return n = this.cfg.extend(n),
            r = n.kdf.execute(r, t.keySize, t.ivSize),
            n.iv = r.iv,
            t = f.encrypt.call(this, t, e, r.key, n),
            t.mixIn(r),
            t
        },
        decrypt: function(t, e, r, n) {
            return n = this.cfg.extend(n),
            e = this._parse(e, n.format),
            r = n.kdf.execute(r, t.keySize, t.ivSize, e.salt),
            n.iv = r.iv,
            f.decrypt.call(this, t, e, r.key, n)
        }
    })
}(),
function() {
    for (var t = CryptoJS, e = t.lib.BlockCipher, r = t.algo, n = [], i = [], o = [], a = [], s = [], c = [], h = [], u = [], p = [], g = [], f = [], l = 0; 256 > l; l++)
        f[l] = 128 > l ? l << 1 : l << 1 ^ 283;
    for (var d = 0, m = 0, l = 0; 256 > l; l++) {
        var v = m ^ m << 1 ^ m << 2 ^ m << 3 ^ m << 4
          , v = v >>> 8 ^ 255 & v ^ 99;
        n[d] = v,
        i[v] = d;
        var _ = f[d]
          , S = f[_]
          , b = f[S]
          , w = 257 * f[v] ^ 16843008 * v;
        o[d] = w << 24 | w >>> 8,
        a[d] = w << 16 | w >>> 16,
        s[d] = w << 8 | w >>> 24,
        c[d] = w,
        w = 16843009 * b ^ 65537 * S ^ 257 * _ ^ 16843008 * d,
        h[v] = w << 24 | w >>> 8,
        u[v] = w << 16 | w >>> 16,
        p[v] = w << 8 | w >>> 24,
        g[v] = w,
        d ? (d = _ ^ f[f[f[b ^ _]]],
        m ^= f[f[m]]) : d = m = 1
    }
    var y = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]
      , r = r.AES = e.extend({
        _doReset: function() {
            for (var t = this._key, e = t.words, r = t.sigBytes / 4, t = 4 * ((this._nRounds = r + 6) + 1), i = this._keySchedule = [], o = 0; o < t; o++)
                if (o < r)
                    i[o] = e[o];
                else {
                    var a = i[o - 1];
                    o % r ? 6 < r && 4 == o % r && (a = n[a >>> 24] << 24 | n[a >>> 16 & 255] << 16 | n[a >>> 8 & 255] << 8 | n[255 & a]) : (a = a << 8 | a >>> 24,
                    a = n[a >>> 24] << 24 | n[a >>> 16 & 255] << 16 | n[a >>> 8 & 255] << 8 | n[255 & a],
                    a ^= y[o / r | 0] << 24),
                    i[o] = i[o - r] ^ a
                }
            for (e = this._invKeySchedule = [],
            r = 0; r < t; r++)
                o = t - r,
                a = r % 4 ? i[o] : i[o - 4],
                e[r] = 4 > r || 4 >= o ? a : h[n[a >>> 24]] ^ u[n[a >>> 16 & 255]] ^ p[n[a >>> 8 & 255]] ^ g[n[255 & a]]
        },
        encryptBlock: function(t, e) {
            this._doCryptBlock(t, e, this._keySchedule, o, a, s, c, n)
        },
        decryptBlock: function(t, e) {
            var r = t[e + 1];
            t[e + 1] = t[e + 3],
            t[e + 3] = r,
            this._doCryptBlock(t, e, this._invKeySchedule, h, u, p, g, i),
            r = t[e + 1],
            t[e + 1] = t[e + 3],
            t[e + 3] = r
        },
        _doCryptBlock: function(t, e, r, n, i, o, a, s) {
            for (var c = this._nRounds, h = t[e] ^ r[0], u = t[e + 1] ^ r[1], p = t[e + 2] ^ r[2], g = t[e + 3] ^ r[3], f = 4, l = 1; l < c; l++)
                var d = n[h >>> 24] ^ i[u >>> 16 & 255] ^ o[p >>> 8 & 255] ^ a[255 & g] ^ r[f++]
                  , m = n[u >>> 24] ^ i[p >>> 16 & 255] ^ o[g >>> 8 & 255] ^ a[255 & h] ^ r[f++]
                  , v = n[p >>> 24] ^ i[g >>> 16 & 255] ^ o[h >>> 8 & 255] ^ a[255 & u] ^ r[f++]
                  , g = n[g >>> 24] ^ i[h >>> 16 & 255] ^ o[u >>> 8 & 255] ^ a[255 & p] ^ r[f++]
                  , h = d
                  , u = m
                  , p = v;
            d = (s[h >>> 24] << 24 | s[u >>> 16 & 255] << 16 | s[p >>> 8 & 255] << 8 | s[255 & g]) ^ r[f++],
            m = (s[u >>> 24] << 24 | s[p >>> 16 & 255] << 16 | s[g >>> 8 & 255] << 8 | s[255 & h]) ^ r[f++],
            v = (s[p >>> 24] << 24 | s[g >>> 16 & 255] << 16 | s[h >>> 8 & 255] << 8 | s[255 & u]) ^ r[f++],
            g = (s[g >>> 24] << 24 | s[h >>> 16 & 255] << 16 | s[u >>> 8 & 255] << 8 | s[255 & p]) ^ r[f++],
            t[e] = d,
            t[e + 1] = m,
            t[e + 2] = v,
            t[e + 3] = g
        },
        keySize: 8
    });
    t.AES = e._createHelper(r)
}(),
CryptoJS.mode.ECB = function() {
    var t = CryptoJS.lib.BlockCipherMode.extend();
    return t.Encryptor = t.extend({
        processBlock: function(t, e) {
            this._cipher.encryptBlock(t, e)
        }
    }),
    t.Decryptor = t.extend({
        processBlock: function(t, e) {
            this._cipher.decryptBlock(t, e)
        }
    }),
    t
}()
function v() {
    for (var t = "", e = "0123456789abcdef", r = 0; r < 16; r++)
        t += e.charAt(Math.floor(16 * Math.random()));
    return t
}
function pwd(password) {
    var e = new RSAKey;
    var t = "BE24E372DC1B329633A6A014A7C02797915E3C363DD6EE119377BD645329B7E6446B4A71AC5F878EBC870C6D8BFD3C06B92E6C6E93390B34192A7A9E430800091761473FAC2CC0A68A828B2589A8CB729C19161E8E27F4C0F3CDE9701FAFE48D2B65947799072AFA6A3F2D7BDBEF8B6D7429C2D115A3E5F723467D57B3AC6967"
    var i = "10001"
    e.setPublic(t,i)
    var a = e.encrypt(password);
    return a

}

   转载规则


《陆金所JS代码》 罗华 采用 知识共享署名 4.0 国际许可协议 进行许可。
 本篇
陆金所JS代码 陆金所JS代码
陆金所JS代码 window = this; navigator={} function BigInteger(t, e, r) { null != t && ("number" == typeof t ? this
2020-08-18
本篇 
陆金所JS代码 陆金所JS代码
陆金所JS代码 window = this; navigator={} function BigInteger(t, e, r) { null != t && ("number" == typeof t ? this
2020-08-18
  目录