123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917 |
- var t =
- t ||
- (function (t, e) {
- var r = {};
- var i = (r.lib = {});
- var n = function () {};
- var o = (i.Base = {
- extend: function (t) {
- n.prototype = this;
- var e = new n();
- if (t) {
- e.mixIn(t);
- }
- e.hasOwnProperty('init') ||
- (e.init = function () {
- e.$super.init.apply(this, arguments);
- });
- e.init.prototype = e;
- e.$super = this;
- return e;
- },
- create: function () {
- var t = this.extend();
- t.init.apply(t, arguments);
- return t;
- },
- init: function () {},
- mixIn: function (t) {
- for (var e in t) {
- if (t.hasOwnProperty(e)) {
- this[e] = t[e];
- }
- }
- if (t.hasOwnProperty('toString')) {
- this.toString = t.toString;
- }
- },
- clone: function () {
- return this.init.prototype.extend(this);
- }
- });
- var s = (i.WordArray = o.extend({
- init: function (t, e) {
- t = this.words = t || [];
- this.sigBytes = void 0 != e ? e : 4 * t.length;
- },
- toString: function (t) {
- return (t || a).stringify(this);
- },
- concat: function (t) {
- var e = this.words;
- var r = t.words;
- var i = this.sigBytes;
- t = t.sigBytes;
- this.clamp();
- if (i % 4)
- for (var n = 0; n < t; n++) {
- e[(i + n) >>> 2] |= ((r[n >>> 2] >>> (24 - (n % 4) * 8)) & 255) << (24 - ((i + n) % 4) * 8);
- }
- else if (65535 < r.length) {
- for (n = 0; n < t; n += 4) {
- e[(i + n) >>> 2] = r[n >>> 2];
- }
- } else {
- e.push.apply(e, r);
- }
- this.sigBytes += t;
- return this;
- },
- clamp: function () {
- var e = this.words;
- var r = this.sigBytes;
- e[r >>> 2] &= 4294967295 << (32 - (r % 4) * 8);
- e.length = t.ceil(r / 4);
- },
- clone: function () {
- var t = o.clone.call(this);
- t.words = this.words.slice(0);
- return t;
- },
- random: function (e) {
- for (var r = [], i = 0; i < e; i += 4) {
- r.push((4294967296 * t.random()) | 0);
- }
- return new s.init(r, e);
- }
- }));
- var c = (r.enc = {});
- var a = (c.Hex = {
- stringify: function (t) {
- var e = t.words;
- t = t.sigBytes;
- for (var r = [], i = 0; i < t; i++) {
- var n = (e[i >>> 2] >>> (24 - (i % 4) * 8)) & 255;
- r.push((n >>> 4).toString(16));
- r.push((15 & n).toString(16));
- }
- return r.join('');
- },
- parse: function (t) {
- for (var e = t.length, r = [], i = 0; i < e; i += 2) {
- r[i >>> 3] |= parseInt(t.substr(i, 2), 16) << (24 - (i % 8) * 4);
- }
- return new s.init(r, e / 2);
- }
- });
- var f = (c.Latin1 = {
- stringify: function (t) {
- var e = t.words;
- t = t.sigBytes;
- for (var r = [], i = 0; i < t; i++) {
- r.push(String.fromCharCode((e[i >>> 2] >>> (24 - (i % 4) * 8)) & 255));
- }
- return r.join('');
- },
- parse: function (t) {
- for (var e = t.length, r = [], i = 0; i < e; i++) {
- r[i >>> 2] |= (255 & t.charCodeAt(i)) << (24 - (i % 4) * 8);
- }
- return new s.init(r, e);
- }
- });
- var h = (c.Utf8 = {
- stringify: function (t) {
- try {
- return decodeURIComponent(escape(f.stringify(t)));
- } catch (t) {
- console.log('CatchClause', t);
- console.log('CatchClause', t);
- throw Error('Malformed UTF-8 data');
- }
- },
- parse: function (t) {
- return f.parse(unescape(encodeURIComponent(t)));
- }
- });
- var u = (i.BufferedBlockAlgorithm = o.extend({
- reset: function () {
- this._data = new s.init();
- this._nDataBytes = 0;
- },
- _append: function (t) {
- if ('string' == typeof t) {
- t = h.parse(t);
- }
- this._data.concat(t);
- this._nDataBytes += t.sigBytes;
- },
- _process: function (e) {
- var r = this._data;
- var i = r.words;
- var n = r.sigBytes;
- var o = this.blockSize;
- var c = n / (4 * o);
- e = (c = e ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0)) * o;
- n = t.min(4 * e, n);
- if (e) {
- for (var a = 0; a < e; a += o) {
- this._doProcessBlock(i, a);
- }
- a = i.splice(0, e);
- r.sigBytes -= n;
- }
- return new s.init(a, n);
- },
- clone: function () {
- var t = o.clone.call(this);
- t._data = this._data.clone();
- return t;
- },
- _minBufferSize: 0
- }));
- i.Hasher = u.extend({
- cfg: o.extend(),
- init: function (t) {
- this.cfg = this.cfg.extend(t);
- this.reset();
- },
- reset: function () {
- u.reset.call(this);
- this._doReset();
- },
- update: function (t) {
- this._append(t);
- this._process();
- return this;
- },
- finalize: function (t) {
- if (t) {
- this._append(t);
- }
- return 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 p.HMAC.init(t, r).finalize(e);
- };
- }
- });
- var p = (r.algo = {});
- return r;
- })(Math);
- !(function () {
- var e = t;
- var r = e.lib.WordArray;
- e.enc.Base64 = {
- stringify: function (t) {
- var e = t.words;
- var r = t.sigBytes;
- var i = this._map;
- t.clamp();
- t = [];
- for (var n = 0; n < r; n += 3) {
- for (
- var o =
- (((e[n >>> 2] >>> (24 - (n % 4) * 8)) & 255) << 16) |
- (((e[(n + 1) >>> 2] >>> (24 - ((n + 1) % 4) * 8)) & 255) << 8) |
- ((e[(n + 2) >>> 2] >>> (24 - ((n + 2) % 4) * 8)) & 255),
- s = 0;
- 4 > s && n + 0.75 * s < r;
- s++
- ) {
- t.push(i.charAt((o >>> (6 * (3 - s))) & 63));
- }
- }
- if ((e = i.charAt(64))) {
- for (; t.length % 4; ) {
- t.push(e);
- }
- }
- return t.join('');
- },
- parse: function (t) {
- var e = t.length;
- var i = this._map;
- if ((n = i.charAt(64)) && -1 != (n = t.indexOf(n))) {
- e = n;
- }
- for (var n = [], o = 0, s = 0; s < e; s++) {
- if (s % 4) {
- var c = i.indexOf(t.charAt(s - 1)) << ((s % 4) * 2);
- var a = i.indexOf(t.charAt(s)) >>> (6 - (s % 4) * 2);
- n[o >>> 2] |= (c | a) << (24 - (o % 4) * 8);
- o++;
- }
- }
- return r.create(n, o);
- },
- _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
- };
- })();
- (function (e) {
- function r(t, e, r, i, n, o, s) {
- return (((t = t + ((e & r) | (~e & i)) + n + s) << o) | (t >>> (32 - o))) + e;
- }
- function i(t, e, r, i, n, o, s) {
- return (((t = t + ((e & i) | (r & ~i)) + n + s) << o) | (t >>> (32 - o))) + e;
- }
- function n(t, e, r, i, n, o, s) {
- return (((t = t + (e ^ r ^ i) + n + s) << o) | (t >>> (32 - o))) + e;
- }
- function o(t, e, r, i, n, o, s) {
- return (((t = t + (r ^ (e | ~i)) + n + s) << o) | (t >>> (32 - o))) + e;
- }
- for (var s = t, c = (f = s.lib).WordArray, a = f.Hasher, f = s.algo, h = [], u = 0; 64 > u; u++) {
- h[u] = (4294967296 * e.abs(e.sin(u + 1))) | 0;
- }
- f = f.MD5 = a.extend({
- _doReset: function () {
- this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]);
- },
- _doProcessBlock: function (t, e) {
- for (s = 0; 16 > s; s++) {
- a = t[(c = e + s)];
- t[c] = (16711935 & ((a << 8) | (a >>> 24))) | (4278255360 & ((a << 24) | (a >>> 8)));
- }
- var s = this._hash.words;
- var c = t[e + 0];
- var a = t[e + 1];
- var f = t[e + 2];
- var u = t[e + 3];
- var p = t[e + 4];
- var d = t[e + 5];
- var l = t[e + 6];
- var y = t[e + 7];
- var v = t[e + 8];
- var _ = t[e + 9];
- var g = t[e + 10];
- var B = t[e + 11];
- var k = t[e + 12];
- var x = t[e + 13];
- var m = t[e + 14];
- var S = t[e + 15];
- var w = s[0];
- var z = s[1];
- var C = s[2];
- var E = s[3];
- var z = o(
- (z = o(
- (z = o(
- (z = o(
- (z = n(
- (z = n(
- (z = n(
- (z = n(
- (z = i(
- (z = i(
- (z = i(
- (z = i(
- (z = r(
- (z = r(
- (z = r(
- (z = r(
- z,
- (C = r(C, (E = r(E, (w = r(w, z, C, E, c, 7, h[0])), z, C, a, 12, h[1])), w, z, f, 17, h[2])),
- E,
- w,
- u,
- 22,
- h[3]
- )),
- (C = r(C, (E = r(E, (w = r(w, z, C, E, p, 7, h[4])), z, C, d, 12, h[5])), w, z, l, 17, h[6])),
- E,
- w,
- y,
- 22,
- h[7]
- )),
- (C = r(C, (E = r(E, (w = r(w, z, C, E, v, 7, h[8])), z, C, _, 12, h[9])), w, z, g, 17, h[10])),
- E,
- w,
- B,
- 22,
- h[11]
- )),
- (C = r(C, (E = r(E, (w = r(w, z, C, E, k, 7, h[12])), z, C, x, 12, h[13])), w, z, m, 17, h[14])),
- E,
- w,
- S,
- 22,
- h[15]
- )),
- (C = i(C, (E = i(E, (w = i(w, z, C, E, a, 5, h[16])), z, C, l, 9, h[17])), w, z, B, 14, h[18])),
- E,
- w,
- c,
- 20,
- h[19]
- )),
- (C = i(C, (E = i(E, (w = i(w, z, C, E, d, 5, h[20])), z, C, g, 9, h[21])), w, z, S, 14, h[22])),
- E,
- w,
- p,
- 20,
- h[23]
- )),
- (C = i(C, (E = i(E, (w = i(w, z, C, E, _, 5, h[24])), z, C, m, 9, h[25])), w, z, u, 14, h[26])),
- E,
- w,
- v,
- 20,
- h[27]
- )),
- (C = i(C, (E = i(E, (w = i(w, z, C, E, x, 5, h[28])), z, C, f, 9, h[29])), w, z, y, 14, h[30])),
- E,
- w,
- k,
- 20,
- h[31]
- )),
- (C = n(C, (E = n(E, (w = n(w, z, C, E, d, 4, h[32])), z, C, v, 11, h[33])), w, z, B, 16, h[34])),
- E,
- w,
- m,
- 23,
- h[35]
- )),
- (C = n(C, (E = n(E, (w = n(w, z, C, E, a, 4, h[36])), z, C, p, 11, h[37])), w, z, y, 16, h[38])),
- E,
- w,
- g,
- 23,
- h[39]
- )),
- (C = n(C, (E = n(E, (w = n(w, z, C, E, x, 4, h[40])), z, C, c, 11, h[41])), w, z, u, 16, h[42])),
- E,
- w,
- l,
- 23,
- h[43]
- )),
- (C = n(C, (E = n(E, (w = n(w, z, C, E, _, 4, h[44])), z, C, k, 11, h[45])), w, z, S, 16, h[46])),
- E,
- w,
- f,
- 23,
- h[47]
- )),
- (C = o(C, (E = o(E, (w = o(w, z, C, E, c, 6, h[48])), z, C, y, 10, h[49])), w, z, m, 15, h[50])),
- E,
- w,
- d,
- 21,
- h[51]
- )),
- (C = o(C, (E = o(E, (w = o(w, z, C, E, k, 6, h[52])), z, C, u, 10, h[53])), w, z, g, 15, h[54])),
- E,
- w,
- a,
- 21,
- h[55]
- )),
- (C = o(C, (E = o(E, (w = o(w, z, C, E, v, 6, h[56])), z, C, S, 10, h[57])), w, z, l, 15, h[58])),
- E,
- w,
- x,
- 21,
- h[59]
- )),
- (C = o(C, (E = o(E, (w = o(w, z, C, E, p, 6, h[60])), z, C, B, 10, h[61])), w, z, f, 15, h[62])),
- E,
- w,
- _,
- 21,
- h[63]
- );
- s[0] = (s[0] + w) | 0;
- s[1] = (s[1] + z) | 0;
- s[2] = (s[2] + C) | 0;
- s[3] = (s[3] + E) | 0;
- },
- _doFinalize: function () {
- var t = this._data;
- var r = t.words;
- var i = 8 * this._nDataBytes;
- var n = 8 * t.sigBytes;
- r[n >>> 5] |= 128 << (24 - (n % 32));
- var o = e.floor(i / 4294967296);
- for (
- r[15 + (((n + 64) >>> 9) << 4)] = (16711935 & ((o << 8) | (o >>> 24))) | (4278255360 & ((o << 24) | (o >>> 8))),
- r[14 + (((n + 64) >>> 9) << 4)] = (16711935 & ((i << 8) | (i >>> 24))) | (4278255360 & ((i << 24) | (i >>> 8))),
- t.sigBytes = 4 * (r.length + 1),
- this._process(),
- r = (t = this._hash).words,
- i = 0;
- 4 > i;
- i++
- ) {
- n = r[i];
- r[i] = (16711935 & ((n << 8) | (n >>> 24))) | (4278255360 & ((n << 24) | (n >>> 8)));
- }
- return t;
- },
- clone: function () {
- var t = a.clone.call(this);
- t._hash = this._hash.clone();
- return t;
- }
- });
- s.MD5 = a._createHelper(f);
- s.HmacMD5 = a._createHmacHelper(f);
- })(Math);
- (function () {
- var e = t;
- var r = e.lib;
- var i = r.Base;
- var n = r.WordArray;
- var o = ((r = e.algo).EvpKDF = i.extend({
- cfg: i.extend({
- keySize: 4,
- hasher: r.MD5,
- iterations: 1
- }),
- init: function (t) {
- this.cfg = this.cfg.extend(t);
- },
- compute: function (t, e) {
- for (var r = (c = this.cfg).hasher.create(), i = n.create(), o = i.words, s = c.keySize, c = c.iterations; o.length < s; ) {
- if (a) {
- r.update(a);
- }
- var a = r.update(t).finalize(e);
- r.reset();
- for (var f = 1; f < c; f++) {
- a = r.finalize(a);
- r.reset();
- }
- i.concat(a);
- }
- i.sigBytes = 4 * s;
- return i;
- }
- }));
- e.EvpKDF = function (t, e, r) {
- return o.create(r).compute(t, e);
- };
- })();
- t.lib.Cipher ||
- (function (e) {
- var r = (l = t).lib;
- var i = r.Base;
- var n = r.WordArray;
- var o = r.BufferedBlockAlgorithm;
- var s = l.enc.Base64;
- var c = l.algo.EvpKDF;
- var a = (r.Cipher = o.extend({
- cfg: i.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) {
- this._append(t);
- return this._process();
- },
- finalize: function (t) {
- if (t) {
- this._append(t);
- }
- return this._doFinalize();
- },
- keySize: 4,
- ivSize: 4,
- _ENC_XFORM_MODE: 1,
- _DEC_XFORM_MODE: 2,
- _createHelper: function (t) {
- return {
- encrypt: function (e, r, i) {
- return ('string' == typeof r ? y : d).encrypt(t, e, r, i);
- },
- decrypt: function (e, r, i) {
- return ('string' == typeof r ? y : d).decrypt(t, e, r, i);
- }
- };
- }
- }));
- r.StreamCipher = a.extend({
- _doFinalize: function () {
- return this._process(true);
- },
- blockSize: 1
- });
- var f = (l.mode = {});
- var h = function (t, e, r) {
- var i = this._iv;
- i ? (this._iv = void 0) : (i = this._prevBlock);
- for (var n = 0; n < r; n++) {
- t[e + n] ^= i[n];
- }
- };
- var u = (r.BlockCipherMode = i.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();
- u.Encryptor = u.extend({
- processBlock: function (t, e) {
- var r = this._cipher;
- var i = r.blockSize;
- h.call(this, t, e, i);
- r.encryptBlock(t, e);
- this._prevBlock = t.slice(e, e + i);
- }
- });
- u.Decryptor = u.extend({
- processBlock: function (t, e) {
- var r = this._cipher;
- var i = r.blockSize;
- var n = t.slice(e, e + i);
- r.decryptBlock(t, e);
- h.call(this, t, e, i);
- this._prevBlock = n;
- }
- });
- f = f.CBC = u;
- u = (l.pad = {}).Pkcs7 = {
- pad: function (t, e) {
- for (var r = 4 * e, i = ((r = r - (t.sigBytes % r)) << 24) | (r << 16) | (r << 8) | r, o = [], s = 0; s < r; s += 4) {
- o.push(i);
- }
- r = n.create(o, r);
- t.concat(r);
- },
- unpad: function (t) {
- t.sigBytes -= 255 & t.words[(t.sigBytes - 1) >>> 2];
- }
- };
- r.BlockCipher = a.extend({
- cfg: a.cfg.extend({
- mode: f,
- padding: u
- }),
- reset: function () {
- a.reset.call(this);
- var t = (e = this.cfg).iv;
- var e = e.mode;
- if (this._xformMode == this._ENC_XFORM_MODE) {
- var r = e.createEncryptor;
- } else {
- r = e.createDecryptor;
- this._minBufferSize = 1;
- }
- this._mode = r.call(e, this, t && t.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(true);
- } else {
- e = this._process(true);
- t.unpad(e);
- }
- return e;
- },
- blockSize: 4
- });
- var p = (r.CipherParams = i.extend({
- init: function (t) {
- this.mixIn(t);
- },
- toString: function (t) {
- return (t || this.formatter).stringify(this);
- }
- }));
- var f = ((l.format = {}).OpenSSL = {
- stringify: function (t) {
- var e = t.ciphertext;
- return ((t = t.salt) ? n.create([1398893684, 1701076831]).concat(t).concat(e) : e).toString(s);
- },
- parse: function (t) {
- var e = (t = s.parse(t)).words;
- if (1398893684 == e[0] && 1701076831 == e[1]) {
- var r = n.create(e.slice(2, 4));
- e.splice(0, 4);
- t.sigBytes -= 16;
- }
- return p.create({
- ciphertext: t,
- salt: r
- });
- }
- });
- var d = (r.SerializableCipher = i.extend({
- cfg: i.extend({
- format: f
- }),
- encrypt: function (t, e, r, i) {
- i = this.cfg.extend(i);
- var n = t.createEncryptor(r, i);
- e = n.finalize(e);
- n = n.cfg;
- return p.create({
- ciphertext: e,
- key: r,
- iv: n.iv,
- algorithm: t,
- mode: n.mode,
- padding: n.padding,
- blockSize: t.blockSize,
- formatter: i.format
- });
- },
- decrypt: function (t, e, r, i) {
- i = this.cfg.extend(i);
- e = this._parse(e, i.format);
- return t.createDecryptor(r, i).finalize(e.ciphertext);
- },
- _parse: function (t, e) {
- return 'string' == typeof t ? e.parse(t, this) : t;
- }
- }));
- var l = ((l.kdf = {}).OpenSSL = {
- execute: function (t, e, r, i) {
- i || (i = n.random(8));
- t = c
- .create({
- keySize: e + r
- })
- .compute(t, i);
- r = n.create(t.words.slice(e), 4 * r);
- t.sigBytes = 4 * e;
- return p.create({
- key: t,
- iv: r,
- salt: i
- });
- }
- });
- var y = (r.PasswordBasedCipher = d.extend({
- cfg: d.cfg.extend({
- kdf: l
- }),
- encrypt: function (t, e, r, i) {
- i = this.cfg.extend(i);
- r = i.kdf.execute(r, t.keySize, t.ivSize);
- i.iv = r.iv;
- (t = d.encrypt.call(this, t, e, r.key, i)).mixIn(r);
- return t;
- },
- decrypt: function (t, e, r, i) {
- i = this.cfg.extend(i);
- e = this._parse(e, i.format);
- r = i.kdf.execute(r, t.keySize, t.ivSize, e.salt);
- i.iv = r.iv;
- return d.decrypt.call(this, t, e, r.key, i);
- }
- }));
- })();
- (function () {
- for (var e = t, r = e.lib.BlockCipher, i = e.algo, n = [], o = [], s = [], c = [], a = [], f = [], h = [], u = [], p = [], d = [], l = [], y = 0; 256 > y; y++) {
- l[y] = 128 > y ? y << 1 : (y << 1) ^ 283;
- }
- for (var v = 0, _ = 0, y = 0; 256 > y; y++) {
- var g = ((g = _ ^ (_ << 1) ^ (_ << 2) ^ (_ << 3) ^ (_ << 4)) >>> 8) ^ (255 & g) ^ 99;
- n[v] = g;
- o[g] = v;
- var B = l[v];
- var k = l[B];
- var x = l[k];
- var m = (257 * l[g]) ^ (16843008 * g);
- s[v] = (m << 24) | (m >>> 8);
- c[v] = (m << 16) | (m >>> 16);
- a[v] = (m << 8) | (m >>> 24);
- f[v] = m;
- m = (16843009 * x) ^ (65537 * k) ^ (257 * B) ^ (16843008 * v);
- h[g] = (m << 24) | (m >>> 8);
- u[g] = (m << 16) | (m >>> 16);
- p[g] = (m << 8) | (m >>> 24);
- d[g] = m;
- v ? ((v = B ^ l[l[l[x ^ B]]]), (_ ^= l[l[_]])) : (v = _ = 1);
- }
- var S = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
- var i = (i.AES = r.extend({
- _doReset: function () {
- for (var t = (r = this._key).words, e = r.sigBytes / 4, r = 4 * ((this._nRounds = e + 6) + 1), i = (this._keySchedule = []), o = 0; o < r; o++) {
- if (o < e) {
- i[o] = t[o];
- } else {
- var s = i[o - 1];
- o % e
- ? 6 < e && 4 == o % e && (s = (n[s >>> 24] << 24) | (n[(s >>> 16) & 255] << 16) | (n[(s >>> 8) & 255] << 8) | n[255 & s])
- : ((s = (s << 8) | (s >>> 24)),
- (s = (n[s >>> 24] << 24) | (n[(s >>> 16) & 255] << 16) | (n[(s >>> 8) & 255] << 8) | n[255 & s]),
- (s ^= S[(o / e) | 0] << 24));
- i[o] = i[o - e] ^ s;
- }
- }
- for (t = this._invKeySchedule = [], e = 0; e < r; e++) {
- o = r - e;
- s = e % 4 ? i[o] : i[o - 4];
- t[e] = 4 > e || 4 >= o ? s : h[n[s >>> 24]] ^ u[n[(s >>> 16) & 255]] ^ p[n[(s >>> 8) & 255]] ^ d[n[255 & s]];
- }
- },
- encryptBlock: function (t, e) {
- this._doCryptBlock(t, e, this._keySchedule, s, c, a, f, 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, d, o);
- r = t[e + 1];
- t[e + 1] = t[e + 3];
- t[e + 3] = r;
- },
- _doCryptBlock: function (t, e, r, i, n, o, s, c) {
- for (var a = this._nRounds, f = t[e] ^ r[0], h = t[e + 1] ^ r[1], u = t[e + 2] ^ r[2], p = t[e + 3] ^ r[3], d = 4, l = 1; l < a; l++) {
- var y = i[f >>> 24] ^ n[(h >>> 16) & 255] ^ o[(u >>> 8) & 255] ^ s[255 & p] ^ r[d++];
- var v = i[h >>> 24] ^ n[(u >>> 16) & 255] ^ o[(p >>> 8) & 255] ^ s[255 & f] ^ r[d++];
- var _ = i[u >>> 24] ^ n[(p >>> 16) & 255] ^ o[(f >>> 8) & 255] ^ s[255 & h] ^ r[d++];
- var p = i[p >>> 24] ^ n[(f >>> 16) & 255] ^ o[(h >>> 8) & 255] ^ s[255 & u] ^ r[d++];
- var f = y;
- var h = v;
- var u = _;
- }
- y = ((c[f >>> 24] << 24) | (c[(h >>> 16) & 255] << 16) | (c[(u >>> 8) & 255] << 8) | c[255 & p]) ^ r[d++];
- v = ((c[h >>> 24] << 24) | (c[(u >>> 16) & 255] << 16) | (c[(p >>> 8) & 255] << 8) | c[255 & f]) ^ r[d++];
- _ = ((c[u >>> 24] << 24) | (c[(p >>> 16) & 255] << 16) | (c[(f >>> 8) & 255] << 8) | c[255 & h]) ^ r[d++];
- p = ((c[p >>> 24] << 24) | (c[(f >>> 16) & 255] << 16) | (c[(h >>> 8) & 255] << 8) | c[255 & u]) ^ r[d++];
- t[e] = y;
- t[e + 1] = v;
- t[e + 2] = _;
- t[e + 3] = p;
- },
- keySize: 8
- }));
- e.AES = r._createHelper(i);
- })();
- t.enc.u8array = {
- stringify: function (t) {
- for (var e = t.words, r = t.sigBytes, i = new Uint8Array(r), n = 0; n < r; n++) {
- var o = (e[n >>> 2] >>> (24 - (n % 4) * 8)) & 255;
- i[n] = o;
- }
- return i;
- },
- parse: function (e) {
- for (var r = e.length, i = [], n = 0; n < r; n++) {
- i[n >>> 2] |= (255 & e[n]) << (24 - (n % 4) * 8);
- }
- return t.lib.WordArray.create(i, r);
- }
- };
- t.enc.int8array = {
- stringify: function (t) {
- for (var e = t.words, r = t.sigBytes, i = new Int8Array(r), n = 0; n < r; n++) {
- var o = (e[n >>> 2] >> (24 - (n % 4) * 8)) & 255;
- i[n] = o;
- }
- return i;
- },
- parse: function (e) {
- for (var r = e.length, i = [], n = 0; n < r; n++) {
- i[n >>> 2] |= (255 & e[n]) << (24 - (n % 4) * 8);
- }
- return t.lib.WordArray.create(i, r);
- }
- };
- t.enc.int16array = {
- stringify: function (t) {
- for (var e = t.words, r = t.sigBytes, i = new Uint8Array(r), n = 0; n < r; n++) {
- var o = (e[n >>> 2] >>> (24 - (n % 4) * 8)) & 255;
- i[n] = o;
- }
- return i;
- },
- parse: function (e) {
- for (var r = e.length, i = [], n = 0; n < r; n++) {
- i[n >>> 2] |= (255 & e[n]) << (24 - (n % 4) * 8);
- }
- return t.lib.WordArray.create(i, r);
- }
- };
- t.mode.CFB = (function () {
- function e(t, e, r, i) {
- var n = this._iv;
- if (n) {
- o = n.slice(0);
- this._iv = void 0;
- } else {
- var o = this._prevBlock;
- }
- i.encryptBlock(o, 0);
- for (var s = 0; s < r; s++) {
- t[e + s] ^= o[s];
- }
- }
- var r = t.lib.BlockCipherMode.extend();
- r.Encryptor = r.extend({
- processBlock: function (t, r) {
- var i = this._cipher;
- var n = i.blockSize;
- e.call(this, t, r, n, i);
- this._prevBlock = t.slice(r, r + n);
- }
- });
- r.Decryptor = r.extend({
- processBlock: function (t, r) {
- var i = this._cipher;
- var n = i.blockSize;
- var o = t.slice(r, r + n);
- e.call(this, t, r, n, i);
- this._prevBlock = o;
- }
- });
- return r;
- })();
- t.mode.ECB = (function () {
- var e = t.lib.BlockCipherMode.extend();
- e.Encryptor = e.extend({
- processBlock: function (t, e) {
- this._cipher.encryptBlock(t, e);
- }
- });
- e.Decryptor = e.extend({
- processBlock: function (t, e) {
- this._cipher.decryptBlock(t, e);
- }
- });
- return e;
- })();
- t.pad.NoPadding = {
- pad: function () {},
- unpad: function () {}
- };
- module.exports = {
- CryptoJS: t
- };
|