crypto-js.min.js 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266
  1. "use strict";
  2. var CryptoJS = CryptoJS || function(u, l) {
  3. var d = {}, n = d.lib = {}, p = function() {
  4. }, s = n.Base = {
  5. extend: function(a) {
  6. p.prototype = this;
  7. var c = new p();
  8. a && c.mixIn(a);
  9. c.hasOwnProperty("init") || (c.init = function() {
  10. c.$super.init.apply(this, arguments);
  11. });
  12. c.init.prototype = c;
  13. c.$super = this;
  14. return c;
  15. },
  16. create: function() {
  17. var a = this.extend();
  18. a.init.apply(a, arguments);
  19. return a;
  20. },
  21. init: function() {
  22. },
  23. mixIn: function(a) {
  24. for (var c in a)
  25. a.hasOwnProperty(c) && (this[c] = a[c]);
  26. a.hasOwnProperty("toString") && (this.toString = a.toString);
  27. },
  28. clone: function() {
  29. return this.init.prototype.extend(this);
  30. }
  31. }, q = n.WordArray = s.extend({
  32. init: function(a, c) {
  33. a = this.words = a || [];
  34. this.sigBytes = c != l ? c : 4 * a.length;
  35. },
  36. toString: function(a) {
  37. return (a || v).stringify(this);
  38. },
  39. concat: function(a) {
  40. var c = this.words, m = a.words, f = this.sigBytes;
  41. a = a.sigBytes;
  42. this.clamp();
  43. if (f % 4)
  44. for (var t = 0; t < a; t++)
  45. c[f + t >>> 2] |= (m[t >>> 2] >>> 24 - 8 * (t % 4) & 255) << 24 - 8 * ((f + t) % 4);
  46. else if (65535 < m.length)
  47. for (t = 0; t < a; t += 4)
  48. c[f + t >>> 2] = m[t >>> 2];
  49. else
  50. c.push.apply(c, m);
  51. this.sigBytes += a;
  52. return this;
  53. },
  54. clamp: function() {
  55. var a = this.words, c = this.sigBytes;
  56. a[c >>> 2] &= 4294967295 << 32 - 8 * (c % 4);
  57. a.length = u.ceil(c / 4);
  58. },
  59. clone: function() {
  60. var a = s.clone.call(this);
  61. a.words = this.words.slice(0);
  62. return a;
  63. },
  64. random: function(a) {
  65. for (var c = [], m = 0; m < a; m += 4)
  66. c.push(4294967296 * u.random() | 0);
  67. return new q.init(c, a);
  68. }
  69. }), w = d.enc = {}, v = w.Hex = {
  70. stringify: function(a) {
  71. var c = a.words;
  72. a = a.sigBytes;
  73. for (var m = [], f = 0; f < a; f++) {
  74. var t = c[f >>> 2] >>> 24 - 8 * (f % 4) & 255;
  75. m.push((t >>> 4).toString(16));
  76. m.push((t & 15).toString(16));
  77. }
  78. return m.join("");
  79. },
  80. parse: function(a) {
  81. for (var c = a.length, m = [], f = 0; f < c; f += 2)
  82. m[f >>> 3] |= parseInt(a.substr(
  83. f,
  84. 2
  85. ), 16) << 24 - 4 * (f % 8);
  86. return new q.init(m, c / 2);
  87. }
  88. }, b = w.Latin1 = {
  89. stringify: function(a) {
  90. var c = a.words;
  91. a = a.sigBytes;
  92. for (var m = [], f = 0; f < a; f++)
  93. m.push(String.fromCharCode(c[f >>> 2] >>> 24 - 8 * (f % 4) & 255));
  94. return m.join("");
  95. },
  96. parse: function(a) {
  97. for (var c = a.length, m = [], f = 0; f < c; f++)
  98. m[f >>> 2] |= (a.charCodeAt(f) & 255) << 24 - 8 * (f % 4);
  99. return new q.init(m, c);
  100. }
  101. }, x = w.Utf8 = {
  102. stringify: function(a) {
  103. try {
  104. return decodeURIComponent(escape(b.stringify(a)));
  105. } catch (c) {
  106. throw Error("Malformed UTF-8 data");
  107. }
  108. },
  109. parse: function(a) {
  110. return b.parse(unescape(encodeURIComponent(a)));
  111. }
  112. }, r = n.BufferedBlockAlgorithm = s.extend({
  113. reset: function() {
  114. this._data = new q.init();
  115. this._nDataBytes = 0;
  116. },
  117. _append: function(a) {
  118. "string" == typeof a && (a = x.parse(a));
  119. this._data.concat(a);
  120. this._nDataBytes += a.sigBytes;
  121. },
  122. _process: function(a) {
  123. var c = this._data, m = c.words, f = c.sigBytes, t = this.blockSize, b2 = f / (4 * t), b2 = a ? u.ceil(b2) : u.max((b2 | 0) - this._minBufferSize, 0);
  124. a = b2 * t;
  125. f = u.min(4 * a, f);
  126. if (a) {
  127. for (var e2 = 0; e2 < a; e2 += t)
  128. this._doProcessBlock(m, e2);
  129. e2 = m.splice(0, a);
  130. c.sigBytes -= f;
  131. }
  132. return new q.init(e2, f);
  133. },
  134. clone: function() {
  135. var a = s.clone.call(this);
  136. a._data = this._data.clone();
  137. return a;
  138. },
  139. _minBufferSize: 0
  140. });
  141. n.Hasher = r.extend({
  142. cfg: s.extend(),
  143. init: function(a) {
  144. this.cfg = this.cfg.extend(a);
  145. this.reset();
  146. },
  147. reset: function() {
  148. r.reset.call(this);
  149. this._doReset();
  150. },
  151. update: function(a) {
  152. this._append(a);
  153. this._process();
  154. return this;
  155. },
  156. finalize: function(a) {
  157. a && this._append(a);
  158. return this._doFinalize();
  159. },
  160. blockSize: 16,
  161. _createHelper: function(a) {
  162. return function(c, m) {
  163. return new a.init(m).finalize(c);
  164. };
  165. },
  166. _createHmacHelper: function(a) {
  167. return function(c, m) {
  168. return new e.HMAC.init(
  169. a,
  170. m
  171. ).finalize(c);
  172. };
  173. }
  174. });
  175. var e = d.algo = {};
  176. return d;
  177. }(Math);
  178. (function() {
  179. var u = CryptoJS, l = u.lib.WordArray;
  180. u.enc.Base64 = {
  181. stringify: function(d) {
  182. var n = d.words, l2 = d.sigBytes, s = this._map;
  183. d.clamp();
  184. d = [];
  185. for (var q = 0; q < l2; q += 3)
  186. for (var w = (n[q >>> 2] >>> 24 - 8 * (q % 4) & 255) << 16 | (n[q + 1 >>> 2] >>> 24 - 8 * ((q + 1) % 4) & 255) << 8 | n[q + 2 >>> 2] >>> 24 - 8 * ((q + 2) % 4) & 255, v = 0; 4 > v && q + 0.75 * v < l2; v++)
  187. d.push(s.charAt(w >>> 6 * (3 - v) & 63));
  188. if (n = s.charAt(64))
  189. for (; d.length % 4; )
  190. d.push(n);
  191. return d.join("");
  192. },
  193. parse: function(d) {
  194. var n = d.length, p = this._map, s = p.charAt(64);
  195. s && (s = d.indexOf(s), -1 != s && (n = s));
  196. for (var s = [], q = 0, w = 0; w < n; w++)
  197. if (w % 4) {
  198. var v = p.indexOf(d.charAt(w - 1)) << 2 * (w % 4), b = p.indexOf(d.charAt(w)) >>> 6 - 2 * (w % 4);
  199. s[q >>> 2] |= (v | b) << 24 - 8 * (q % 4);
  200. q++;
  201. }
  202. return l.create(s, q);
  203. },
  204. _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
  205. };
  206. })();
  207. (function(u) {
  208. function l(b2, e, a, c, m, f, t) {
  209. b2 = b2 + (e & a | ~e & c) + m + t;
  210. return (b2 << f | b2 >>> 32 - f) + e;
  211. }
  212. function d(b2, e, a, c, m, f, t) {
  213. b2 = b2 + (e & c | a & ~c) + m + t;
  214. return (b2 << f | b2 >>> 32 - f) + e;
  215. }
  216. function n(b2, e, a, c, m, f, t) {
  217. b2 = b2 + (e ^ a ^ c) + m + t;
  218. return (b2 << f | b2 >>> 32 - f) + e;
  219. }
  220. function p(b2, e, a, c, m, f, t) {
  221. b2 = b2 + (a ^ (e | ~c)) + m + t;
  222. return (b2 << f | b2 >>> 32 - f) + e;
  223. }
  224. for (var s = CryptoJS, q = s.lib, w = q.WordArray, v = q.Hasher, q = s.algo, b = [], x = 0; 64 > x; x++)
  225. b[x] = 4294967296 * u.abs(u.sin(x + 1)) | 0;
  226. q = q.MD5 = v.extend({
  227. _doReset: function() {
  228. this._hash = new w.init([1732584193, 4023233417, 2562383102, 271733878]);
  229. },
  230. _doProcessBlock: function(r, e) {
  231. for (var a = 0; 16 > a; a++) {
  232. var c = e + a, m = r[c];
  233. r[c] = (m << 8 | m >>> 24) & 16711935 | (m << 24 | m >>> 8) & 4278255360;
  234. }
  235. var a = this._hash.words, c = r[e + 0], m = r[e + 1], f = r[e + 2], t = r[e + 3], y = r[e + 4], q2 = r[e + 5], s2 = r[e + 6], w2 = r[e + 7], v2 = r[e + 8], u2 = r[e + 9], x2 = r[e + 10], z = r[e + 11], A = r[e + 12], B = r[e + 13], C = r[e + 14], D = r[e + 15], g = a[0], h = a[1], j = a[2], k = a[3], g = l(g, h, j, k, c, 7, b[0]), k = l(k, g, h, j, m, 12, b[1]), j = l(j, k, g, h, f, 17, b[2]), h = l(h, j, k, g, t, 22, b[3]), g = l(g, h, j, k, y, 7, b[4]), k = l(k, g, h, j, q2, 12, b[5]), j = l(j, k, g, h, s2, 17, b[6]), h = l(h, j, k, g, w2, 22, b[7]), g = l(g, h, j, k, v2, 7, b[8]), k = l(k, g, h, j, u2, 12, b[9]), j = l(j, k, g, h, x2, 17, b[10]), h = l(h, j, k, g, z, 22, b[11]), g = l(g, h, j, k, A, 7, b[12]), k = l(k, g, h, j, B, 12, b[13]), j = l(j, k, g, h, C, 17, b[14]), h = l(h, j, k, g, D, 22, b[15]), g = d(g, h, j, k, m, 5, b[16]), k = d(k, g, h, j, s2, 9, b[17]), j = d(j, k, g, h, z, 14, b[18]), h = d(h, j, k, g, c, 20, b[19]), g = d(g, h, j, k, q2, 5, b[20]), k = d(k, g, h, j, x2, 9, b[21]), j = d(j, k, g, h, D, 14, b[22]), h = d(h, j, k, g, y, 20, b[23]), g = d(g, h, j, k, u2, 5, b[24]), k = d(k, g, h, j, C, 9, b[25]), j = d(j, k, g, h, t, 14, b[26]), h = d(h, j, k, g, v2, 20, b[27]), g = d(g, h, j, k, B, 5, b[28]), k = d(
  236. k,
  237. g,
  238. h,
  239. j,
  240. f,
  241. 9,
  242. b[29]
  243. ), j = d(j, k, g, h, w2, 14, b[30]), h = d(h, j, k, g, A, 20, b[31]), g = n(g, h, j, k, q2, 4, b[32]), k = n(k, g, h, j, v2, 11, b[33]), j = n(j, k, g, h, z, 16, b[34]), h = n(h, j, k, g, C, 23, b[35]), g = n(g, h, j, k, m, 4, b[36]), k = n(k, g, h, j, y, 11, b[37]), j = n(j, k, g, h, w2, 16, b[38]), h = n(h, j, k, g, x2, 23, b[39]), g = n(g, h, j, k, B, 4, b[40]), k = n(k, g, h, j, c, 11, b[41]), j = n(j, k, g, h, t, 16, b[42]), h = n(h, j, k, g, s2, 23, b[43]), g = n(g, h, j, k, u2, 4, b[44]), k = n(k, g, h, j, A, 11, b[45]), j = n(j, k, g, h, D, 16, b[46]), h = n(h, j, k, g, f, 23, b[47]), g = p(g, h, j, k, c, 6, b[48]), k = p(k, g, h, j, w2, 10, b[49]), j = p(
  244. j,
  245. k,
  246. g,
  247. h,
  248. C,
  249. 15,
  250. b[50]
  251. ), h = p(h, j, k, g, q2, 21, b[51]), g = p(g, h, j, k, A, 6, b[52]), k = p(k, g, h, j, t, 10, b[53]), j = p(j, k, g, h, x2, 15, b[54]), h = p(h, j, k, g, m, 21, b[55]), g = p(g, h, j, k, v2, 6, b[56]), k = p(k, g, h, j, D, 10, b[57]), j = p(j, k, g, h, s2, 15, b[58]), h = p(h, j, k, g, B, 21, b[59]), g = p(g, h, j, k, y, 6, b[60]), k = p(k, g, h, j, z, 10, b[61]), j = p(j, k, g, h, f, 15, b[62]), h = p(h, j, k, g, u2, 21, b[63]);
  252. a[0] = a[0] + g | 0;
  253. a[1] = a[1] + h | 0;
  254. a[2] = a[2] + j | 0;
  255. a[3] = a[3] + k | 0;
  256. },
  257. _doFinalize: function() {
  258. var b2 = this._data, e = b2.words, a = 8 * this._nDataBytes, c = 8 * b2.sigBytes;
  259. e[c >>> 5] |= 128 << 24 - c % 32;
  260. var m = u.floor(a / 4294967296);
  261. e[(c + 64 >>> 9 << 4) + 15] = (m << 8 | m >>> 24) & 16711935 | (m << 24 | m >>> 8) & 4278255360;
  262. e[(c + 64 >>> 9 << 4) + 14] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360;
  263. b2.sigBytes = 4 * (e.length + 1);
  264. this._process();
  265. b2 = this._hash;
  266. e = b2.words;
  267. for (a = 0; 4 > a; a++)
  268. c = e[a], e[a] = (c << 8 | c >>> 24) & 16711935 | (c << 24 | c >>> 8) & 4278255360;
  269. return b2;
  270. },
  271. clone: function() {
  272. var b2 = v.clone.call(this);
  273. b2._hash = this._hash.clone();
  274. return b2;
  275. }
  276. });
  277. s.MD5 = v._createHelper(q);
  278. s.HmacMD5 = v._createHmacHelper(q);
  279. })(Math);
  280. (function() {
  281. var u = CryptoJS, l = u.lib, d = l.Base, n = l.WordArray, l = u.algo, p = l.EvpKDF = d.extend({
  282. cfg: d.extend({
  283. keySize: 4,
  284. hasher: l.MD5,
  285. iterations: 1
  286. }),
  287. init: function(d2) {
  288. this.cfg = this.cfg.extend(d2);
  289. },
  290. compute: function(d2, l2) {
  291. for (var p2 = this.cfg, v = p2.hasher.create(), b = n.create(), u2 = b.words, r = p2.keySize, p2 = p2.iterations; u2.length < r; ) {
  292. e && v.update(e);
  293. var e = v.update(d2).finalize(l2);
  294. v.reset();
  295. for (var a = 1; a < p2; a++)
  296. e = v.finalize(e), v.reset();
  297. b.concat(e);
  298. }
  299. b.sigBytes = 4 * r;
  300. return b;
  301. }
  302. });
  303. u.EvpKDF = function(d2, l2, n2) {
  304. return p.create(n2).compute(
  305. d2,
  306. l2
  307. );
  308. };
  309. })();
  310. CryptoJS.lib.Cipher || function(u) {
  311. var l = CryptoJS, d = l.lib, n = d.Base, p = d.WordArray, s = d.BufferedBlockAlgorithm, q = l.enc.Base64, w = l.algo.EvpKDF, v = d.Cipher = s.extend({
  312. cfg: n.extend(),
  313. createEncryptor: function(m, a2) {
  314. return this.create(this._ENC_XFORM_MODE, m, a2);
  315. },
  316. createDecryptor: function(m, a2) {
  317. return this.create(this._DEC_XFORM_MODE, m, a2);
  318. },
  319. init: function(m, a2, b2) {
  320. this.cfg = this.cfg.extend(b2);
  321. this._xformMode = m;
  322. this._key = a2;
  323. this.reset();
  324. },
  325. reset: function() {
  326. s.reset.call(this);
  327. this._doReset();
  328. },
  329. process: function(a2) {
  330. this._append(a2);
  331. return this._process();
  332. },
  333. finalize: function(a2) {
  334. a2 && this._append(a2);
  335. return this._doFinalize();
  336. },
  337. keySize: 4,
  338. ivSize: 4,
  339. _ENC_XFORM_MODE: 1,
  340. _DEC_XFORM_MODE: 2,
  341. _createHelper: function(m) {
  342. return {
  343. encrypt: function(f, b2, e2) {
  344. return ("string" == typeof b2 ? c : a).encrypt(m, f, b2, e2);
  345. },
  346. decrypt: function(f, b2, e2) {
  347. return ("string" == typeof b2 ? c : a).decrypt(m, f, b2, e2);
  348. }
  349. };
  350. }
  351. });
  352. d.StreamCipher = v.extend({
  353. _doFinalize: function() {
  354. return this._process(true);
  355. },
  356. blockSize: 1
  357. });
  358. var b = l.mode = {}, x = function(a2, f, b2) {
  359. var c2 = this._iv;
  360. c2 ? this._iv = u : c2 = this._prevBlock;
  361. for (var e2 = 0; e2 < b2; e2++)
  362. a2[f + e2] ^= c2[e2];
  363. }, r = (d.BlockCipherMode = n.extend({
  364. createEncryptor: function(a2, f) {
  365. return this.Encryptor.create(a2, f);
  366. },
  367. createDecryptor: function(a2, f) {
  368. return this.Decryptor.create(a2, f);
  369. },
  370. init: function(a2, f) {
  371. this._cipher = a2;
  372. this._iv = f;
  373. }
  374. })).extend();
  375. r.Encryptor = r.extend({
  376. processBlock: function(a2, f) {
  377. var b2 = this._cipher, c2 = b2.blockSize;
  378. x.call(this, a2, f, c2);
  379. b2.encryptBlock(a2, f);
  380. this._prevBlock = a2.slice(f, f + c2);
  381. }
  382. });
  383. r.Decryptor = r.extend({
  384. processBlock: function(a2, b2) {
  385. var c2 = this._cipher, e2 = c2.blockSize, d2 = a2.slice(b2, b2 + e2);
  386. c2.decryptBlock(a2, b2);
  387. x.call(
  388. this,
  389. a2,
  390. b2,
  391. e2
  392. );
  393. this._prevBlock = d2;
  394. }
  395. });
  396. b = b.CBC = r;
  397. r = (l.pad = {}).Pkcs7 = {
  398. pad: function(a2, b2) {
  399. for (var c2 = 4 * b2, c2 = c2 - a2.sigBytes % c2, e2 = c2 << 24 | c2 << 16 | c2 << 8 | c2, d2 = [], l2 = 0; l2 < c2; l2 += 4)
  400. d2.push(e2);
  401. c2 = p.create(d2, c2);
  402. a2.concat(c2);
  403. },
  404. unpad: function(a2) {
  405. a2.sigBytes -= a2.words[a2.sigBytes - 1 >>> 2] & 255;
  406. }
  407. };
  408. d.BlockCipher = v.extend({
  409. cfg: v.cfg.extend({
  410. mode: b,
  411. padding: r
  412. }),
  413. reset: function() {
  414. v.reset.call(this);
  415. var a2 = this.cfg, c2 = a2.iv, a2 = a2.mode;
  416. if (this._xformMode == this._ENC_XFORM_MODE)
  417. var b2 = a2.createEncryptor;
  418. else
  419. b2 = a2.createDecryptor, this._minBufferSize = 1;
  420. this._mode = b2.call(
  421. a2,
  422. this,
  423. c2 && c2.words
  424. );
  425. },
  426. _doProcessBlock: function(a2, c2) {
  427. this._mode.processBlock(a2, c2);
  428. },
  429. _doFinalize: function() {
  430. var a2 = this.cfg.padding;
  431. if (this._xformMode == this._ENC_XFORM_MODE) {
  432. a2.pad(this._data, this.blockSize);
  433. var c2 = this._process(true);
  434. } else
  435. c2 = this._process(true), a2.unpad(c2);
  436. return c2;
  437. },
  438. blockSize: 4
  439. });
  440. var e = d.CipherParams = n.extend({
  441. init: function(a2) {
  442. this.mixIn(a2);
  443. },
  444. toString: function(a2) {
  445. return (a2 || this.formatter).stringify(this);
  446. }
  447. }), b = (l.format = {}).OpenSSL = {
  448. stringify: function(a2) {
  449. var c2 = a2.ciphertext;
  450. a2 = a2.salt;
  451. return (a2 ? p.create([
  452. 1398893684,
  453. 1701076831
  454. ]).concat(a2).concat(c2) : c2).toString(q);
  455. },
  456. parse: function(a2) {
  457. a2 = q.parse(a2);
  458. var c2 = a2.words;
  459. if (1398893684 == c2[0] && 1701076831 == c2[1]) {
  460. var b2 = p.create(c2.slice(2, 4));
  461. c2.splice(0, 4);
  462. a2.sigBytes -= 16;
  463. }
  464. return e.create({
  465. ciphertext: a2,
  466. salt: b2
  467. });
  468. }
  469. }, a = d.SerializableCipher = n.extend({
  470. cfg: n.extend({
  471. format: b
  472. }),
  473. encrypt: function(a2, c2, b2, d2) {
  474. d2 = this.cfg.extend(d2);
  475. var l2 = a2.createEncryptor(b2, d2);
  476. c2 = l2.finalize(c2);
  477. l2 = l2.cfg;
  478. return e.create({
  479. ciphertext: c2,
  480. key: b2,
  481. iv: l2.iv,
  482. algorithm: a2,
  483. mode: l2.mode,
  484. padding: l2.padding,
  485. blockSize: a2.blockSize,
  486. formatter: d2.format
  487. });
  488. },
  489. decrypt: function(a2, c2, b2, e2) {
  490. e2 = this.cfg.extend(e2);
  491. c2 = this._parse(c2, e2.format);
  492. return a2.createDecryptor(b2, e2).finalize(c2.ciphertext);
  493. },
  494. _parse: function(a2, c2) {
  495. return "string" == typeof a2 ? c2.parse(a2, this) : a2;
  496. }
  497. }), l = (l.kdf = {}).OpenSSL = {
  498. execute: function(a2, c2, b2, d2) {
  499. d2 || (d2 = p.random(8));
  500. a2 = w.create({
  501. keySize: c2 + b2
  502. }).compute(a2, d2);
  503. b2 = p.create(a2.words.slice(c2), 4 * b2);
  504. a2.sigBytes = 4 * c2;
  505. return e.create({
  506. key: a2,
  507. iv: b2,
  508. salt: d2
  509. });
  510. }
  511. }, c = d.PasswordBasedCipher = a.extend({
  512. cfg: a.cfg.extend({
  513. kdf: l
  514. }),
  515. encrypt: function(c2, b2, e2, d2) {
  516. d2 = this.cfg.extend(d2);
  517. e2 = d2.kdf.execute(
  518. e2,
  519. c2.keySize,
  520. c2.ivSize
  521. );
  522. d2.iv = e2.iv;
  523. c2 = a.encrypt.call(this, c2, b2, e2.key, d2);
  524. c2.mixIn(e2);
  525. return c2;
  526. },
  527. decrypt: function(c2, b2, e2, d2) {
  528. d2 = this.cfg.extend(d2);
  529. b2 = this._parse(b2, d2.format);
  530. e2 = d2.kdf.execute(e2, c2.keySize, c2.ivSize, b2.salt);
  531. d2.iv = e2.iv;
  532. return a.decrypt.call(this, c2, b2, e2.key, d2);
  533. }
  534. });
  535. }();
  536. (function() {
  537. function u(b2, a) {
  538. var c = (this._lBlock >>> b2 ^ this._rBlock) & a;
  539. this._rBlock ^= c;
  540. this._lBlock ^= c << b2;
  541. }
  542. function l(b2, a) {
  543. var c = (this._rBlock >>> b2 ^ this._lBlock) & a;
  544. this._lBlock ^= c;
  545. this._rBlock ^= c << b2;
  546. }
  547. var d = CryptoJS, n = d.lib, p = n.WordArray, n = n.BlockCipher, s = d.algo, q = [
  548. 57,
  549. 49,
  550. 41,
  551. 33,
  552. 25,
  553. 17,
  554. 9,
  555. 1,
  556. 58,
  557. 50,
  558. 42,
  559. 34,
  560. 26,
  561. 18,
  562. 10,
  563. 2,
  564. 59,
  565. 51,
  566. 43,
  567. 35,
  568. 27,
  569. 19,
  570. 11,
  571. 3,
  572. 60,
  573. 52,
  574. 44,
  575. 36,
  576. 63,
  577. 55,
  578. 47,
  579. 39,
  580. 31,
  581. 23,
  582. 15,
  583. 7,
  584. 62,
  585. 54,
  586. 46,
  587. 38,
  588. 30,
  589. 22,
  590. 14,
  591. 6,
  592. 61,
  593. 53,
  594. 45,
  595. 37,
  596. 29,
  597. 21,
  598. 13,
  599. 5,
  600. 28,
  601. 20,
  602. 12,
  603. 4
  604. ], w = [
  605. 14,
  606. 17,
  607. 11,
  608. 24,
  609. 1,
  610. 5,
  611. 3,
  612. 28,
  613. 15,
  614. 6,
  615. 21,
  616. 10,
  617. 23,
  618. 19,
  619. 12,
  620. 4,
  621. 26,
  622. 8,
  623. 16,
  624. 7,
  625. 27,
  626. 20,
  627. 13,
  628. 2,
  629. 41,
  630. 52,
  631. 31,
  632. 37,
  633. 47,
  634. 55,
  635. 30,
  636. 40,
  637. 51,
  638. 45,
  639. 33,
  640. 48,
  641. 44,
  642. 49,
  643. 39,
  644. 56,
  645. 34,
  646. 53,
  647. 46,
  648. 42,
  649. 50,
  650. 36,
  651. 29,
  652. 32
  653. ], v = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], b = [{
  654. "0": 8421888,
  655. 268435456: 32768,
  656. 536870912: 8421378,
  657. 805306368: 2,
  658. 1073741824: 512,
  659. 1342177280: 8421890,
  660. 1610612736: 8389122,
  661. 1879048192: 8388608,
  662. 2147483648: 514,
  663. 2415919104: 8389120,
  664. 2684354560: 33280,
  665. 2952790016: 8421376,
  666. 3221225472: 32770,
  667. 3489660928: 8388610,
  668. 3758096384: 0,
  669. 4026531840: 33282,
  670. 134217728: 0,
  671. 402653184: 8421890,
  672. 671088640: 33282,
  673. 939524096: 32768,
  674. 1207959552: 8421888,
  675. 1476395008: 512,
  676. 1744830464: 8421378,
  677. 2013265920: 2,
  678. 2281701376: 8389120,
  679. 2550136832: 33280,
  680. 2818572288: 8421376,
  681. 3087007744: 8389122,
  682. 3355443200: 8388610,
  683. 3623878656: 32770,
  684. 3892314112: 514,
  685. 4160749568: 8388608,
  686. 1: 32768,
  687. 268435457: 2,
  688. 536870913: 8421888,
  689. 805306369: 8388608,
  690. 1073741825: 8421378,
  691. 1342177281: 33280,
  692. 1610612737: 512,
  693. 1879048193: 8389122,
  694. 2147483649: 8421890,
  695. 2415919105: 8421376,
  696. 2684354561: 8388610,
  697. 2952790017: 33282,
  698. 3221225473: 514,
  699. 3489660929: 8389120,
  700. 3758096385: 32770,
  701. 4026531841: 0,
  702. 134217729: 8421890,
  703. 402653185: 8421376,
  704. 671088641: 8388608,
  705. 939524097: 512,
  706. 1207959553: 32768,
  707. 1476395009: 8388610,
  708. 1744830465: 2,
  709. 2013265921: 33282,
  710. 2281701377: 32770,
  711. 2550136833: 8389122,
  712. 2818572289: 514,
  713. 3087007745: 8421888,
  714. 3355443201: 8389120,
  715. 3623878657: 0,
  716. 3892314113: 33280,
  717. 4160749569: 8421378
  718. }, {
  719. "0": 1074282512,
  720. 16777216: 16384,
  721. 33554432: 524288,
  722. 50331648: 1074266128,
  723. 67108864: 1073741840,
  724. 83886080: 1074282496,
  725. 100663296: 1073758208,
  726. 117440512: 16,
  727. 134217728: 540672,
  728. 150994944: 1073758224,
  729. 167772160: 1073741824,
  730. 184549376: 540688,
  731. 201326592: 524304,
  732. 218103808: 0,
  733. 234881024: 16400,
  734. 251658240: 1074266112,
  735. 8388608: 1073758208,
  736. 25165824: 540688,
  737. 41943040: 16,
  738. 58720256: 1073758224,
  739. 75497472: 1074282512,
  740. 92274688: 1073741824,
  741. 109051904: 524288,
  742. 125829120: 1074266128,
  743. 142606336: 524304,
  744. 159383552: 0,
  745. 176160768: 16384,
  746. 192937984: 1074266112,
  747. 209715200: 1073741840,
  748. 226492416: 540672,
  749. 243269632: 1074282496,
  750. 260046848: 16400,
  751. 268435456: 0,
  752. 285212672: 1074266128,
  753. 301989888: 1073758224,
  754. 318767104: 1074282496,
  755. 335544320: 1074266112,
  756. 352321536: 16,
  757. 369098752: 540688,
  758. 385875968: 16384,
  759. 402653184: 16400,
  760. 419430400: 524288,
  761. 436207616: 524304,
  762. 452984832: 1073741840,
  763. 469762048: 540672,
  764. 486539264: 1073758208,
  765. 503316480: 1073741824,
  766. 520093696: 1074282512,
  767. 276824064: 540688,
  768. 293601280: 524288,
  769. 310378496: 1074266112,
  770. 327155712: 16384,
  771. 343932928: 1073758208,
  772. 360710144: 1074282512,
  773. 377487360: 16,
  774. 394264576: 1073741824,
  775. 411041792: 1074282496,
  776. 427819008: 1073741840,
  777. 444596224: 1073758224,
  778. 461373440: 524304,
  779. 478150656: 0,
  780. 494927872: 16400,
  781. 511705088: 1074266128,
  782. 528482304: 540672
  783. }, {
  784. "0": 260,
  785. 1048576: 0,
  786. 2097152: 67109120,
  787. 3145728: 65796,
  788. 4194304: 65540,
  789. 5242880: 67108868,
  790. 6291456: 67174660,
  791. 7340032: 67174400,
  792. 8388608: 67108864,
  793. 9437184: 67174656,
  794. 10485760: 65792,
  795. 11534336: 67174404,
  796. 12582912: 67109124,
  797. 13631488: 65536,
  798. 14680064: 4,
  799. 15728640: 256,
  800. 524288: 67174656,
  801. 1572864: 67174404,
  802. 2621440: 0,
  803. 3670016: 67109120,
  804. 4718592: 67108868,
  805. 5767168: 65536,
  806. 6815744: 65540,
  807. 7864320: 260,
  808. 8912896: 4,
  809. 9961472: 256,
  810. 11010048: 67174400,
  811. 12058624: 65796,
  812. 13107200: 65792,
  813. 14155776: 67109124,
  814. 15204352: 67174660,
  815. 16252928: 67108864,
  816. 16777216: 67174656,
  817. 17825792: 65540,
  818. 18874368: 65536,
  819. 19922944: 67109120,
  820. 20971520: 256,
  821. 22020096: 67174660,
  822. 23068672: 67108868,
  823. 24117248: 0,
  824. 25165824: 67109124,
  825. 26214400: 67108864,
  826. 27262976: 4,
  827. 28311552: 65792,
  828. 29360128: 67174400,
  829. 30408704: 260,
  830. 31457280: 65796,
  831. 32505856: 67174404,
  832. 17301504: 67108864,
  833. 18350080: 260,
  834. 19398656: 67174656,
  835. 20447232: 0,
  836. 21495808: 65540,
  837. 22544384: 67109120,
  838. 23592960: 256,
  839. 24641536: 67174404,
  840. 25690112: 65536,
  841. 26738688: 67174660,
  842. 27787264: 65796,
  843. 28835840: 67108868,
  844. 29884416: 67109124,
  845. 30932992: 67174400,
  846. 31981568: 4,
  847. 33030144: 65792
  848. }, {
  849. "0": 2151682048,
  850. 65536: 2147487808,
  851. 131072: 4198464,
  852. 196608: 2151677952,
  853. 262144: 0,
  854. 327680: 4198400,
  855. 393216: 2147483712,
  856. 458752: 4194368,
  857. 524288: 2147483648,
  858. 589824: 4194304,
  859. 655360: 64,
  860. 720896: 2147487744,
  861. 786432: 2151678016,
  862. 851968: 4160,
  863. 917504: 4096,
  864. 983040: 2151682112,
  865. 32768: 2147487808,
  866. 98304: 64,
  867. 163840: 2151678016,
  868. 229376: 2147487744,
  869. 294912: 4198400,
  870. 360448: 2151682112,
  871. 425984: 0,
  872. 491520: 2151677952,
  873. 557056: 4096,
  874. 622592: 2151682048,
  875. 688128: 4194304,
  876. 753664: 4160,
  877. 819200: 2147483648,
  878. 884736: 4194368,
  879. 950272: 4198464,
  880. 1015808: 2147483712,
  881. 1048576: 4194368,
  882. 1114112: 4198400,
  883. 1179648: 2147483712,
  884. 1245184: 0,
  885. 1310720: 4160,
  886. 1376256: 2151678016,
  887. 1441792: 2151682048,
  888. 1507328: 2147487808,
  889. 1572864: 2151682112,
  890. 1638400: 2147483648,
  891. 1703936: 2151677952,
  892. 1769472: 4198464,
  893. 1835008: 2147487744,
  894. 1900544: 4194304,
  895. 1966080: 64,
  896. 2031616: 4096,
  897. 1081344: 2151677952,
  898. 1146880: 2151682112,
  899. 1212416: 0,
  900. 1277952: 4198400,
  901. 1343488: 4194368,
  902. 1409024: 2147483648,
  903. 1474560: 2147487808,
  904. 1540096: 64,
  905. 1605632: 2147483712,
  906. 1671168: 4096,
  907. 1736704: 2147487744,
  908. 1802240: 2151678016,
  909. 1867776: 4160,
  910. 1933312: 2151682048,
  911. 1998848: 4194304,
  912. 2064384: 4198464
  913. }, {
  914. "0": 128,
  915. 4096: 17039360,
  916. 8192: 262144,
  917. 12288: 536870912,
  918. 16384: 537133184,
  919. 20480: 16777344,
  920. 24576: 553648256,
  921. 28672: 262272,
  922. 32768: 16777216,
  923. 36864: 537133056,
  924. 40960: 536871040,
  925. 45056: 553910400,
  926. 49152: 553910272,
  927. 53248: 0,
  928. 57344: 17039488,
  929. 61440: 553648128,
  930. 2048: 17039488,
  931. 6144: 553648256,
  932. 10240: 128,
  933. 14336: 17039360,
  934. 18432: 262144,
  935. 22528: 537133184,
  936. 26624: 553910272,
  937. 30720: 536870912,
  938. 34816: 537133056,
  939. 38912: 0,
  940. 43008: 553910400,
  941. 47104: 16777344,
  942. 51200: 536871040,
  943. 55296: 553648128,
  944. 59392: 16777216,
  945. 63488: 262272,
  946. 65536: 262144,
  947. 69632: 128,
  948. 73728: 536870912,
  949. 77824: 553648256,
  950. 81920: 16777344,
  951. 86016: 553910272,
  952. 90112: 537133184,
  953. 94208: 16777216,
  954. 98304: 553910400,
  955. 102400: 553648128,
  956. 106496: 17039360,
  957. 110592: 537133056,
  958. 114688: 262272,
  959. 118784: 536871040,
  960. 122880: 0,
  961. 126976: 17039488,
  962. 67584: 553648256,
  963. 71680: 16777216,
  964. 75776: 17039360,
  965. 79872: 537133184,
  966. 83968: 536870912,
  967. 88064: 17039488,
  968. 92160: 128,
  969. 96256: 553910272,
  970. 100352: 262272,
  971. 104448: 553910400,
  972. 108544: 0,
  973. 112640: 553648128,
  974. 116736: 16777344,
  975. 120832: 262144,
  976. 124928: 537133056,
  977. 129024: 536871040
  978. }, {
  979. "0": 268435464,
  980. 256: 8192,
  981. 512: 270532608,
  982. 768: 270540808,
  983. 1024: 268443648,
  984. 1280: 2097152,
  985. 1536: 2097160,
  986. 1792: 268435456,
  987. 2048: 0,
  988. 2304: 268443656,
  989. 2560: 2105344,
  990. 2816: 8,
  991. 3072: 270532616,
  992. 3328: 2105352,
  993. 3584: 8200,
  994. 3840: 270540800,
  995. 128: 270532608,
  996. 384: 270540808,
  997. 640: 8,
  998. 896: 2097152,
  999. 1152: 2105352,
  1000. 1408: 268435464,
  1001. 1664: 268443648,
  1002. 1920: 8200,
  1003. 2176: 2097160,
  1004. 2432: 8192,
  1005. 2688: 268443656,
  1006. 2944: 270532616,
  1007. 3200: 0,
  1008. 3456: 270540800,
  1009. 3712: 2105344,
  1010. 3968: 268435456,
  1011. 4096: 268443648,
  1012. 4352: 270532616,
  1013. 4608: 270540808,
  1014. 4864: 8200,
  1015. 5120: 2097152,
  1016. 5376: 268435456,
  1017. 5632: 268435464,
  1018. 5888: 2105344,
  1019. 6144: 2105352,
  1020. 6400: 0,
  1021. 6656: 8,
  1022. 6912: 270532608,
  1023. 7168: 8192,
  1024. 7424: 268443656,
  1025. 7680: 270540800,
  1026. 7936: 2097160,
  1027. 4224: 8,
  1028. 4480: 2105344,
  1029. 4736: 2097152,
  1030. 4992: 268435464,
  1031. 5248: 268443648,
  1032. 5504: 8200,
  1033. 5760: 270540808,
  1034. 6016: 270532608,
  1035. 6272: 270540800,
  1036. 6528: 270532616,
  1037. 6784: 8192,
  1038. 7040: 2105352,
  1039. 7296: 2097160,
  1040. 7552: 0,
  1041. 7808: 268435456,
  1042. 8064: 268443656
  1043. }, {
  1044. "0": 1048576,
  1045. 16: 33555457,
  1046. 32: 1024,
  1047. 48: 1049601,
  1048. 64: 34604033,
  1049. 80: 0,
  1050. 96: 1,
  1051. 112: 34603009,
  1052. 128: 33555456,
  1053. 144: 1048577,
  1054. 160: 33554433,
  1055. 176: 34604032,
  1056. 192: 34603008,
  1057. 208: 1025,
  1058. 224: 1049600,
  1059. 240: 33554432,
  1060. 8: 34603009,
  1061. 24: 0,
  1062. 40: 33555457,
  1063. 56: 34604032,
  1064. 72: 1048576,
  1065. 88: 33554433,
  1066. 104: 33554432,
  1067. 120: 1025,
  1068. 136: 1049601,
  1069. 152: 33555456,
  1070. 168: 34603008,
  1071. 184: 1048577,
  1072. 200: 1024,
  1073. 216: 34604033,
  1074. 232: 1,
  1075. 248: 1049600,
  1076. 256: 33554432,
  1077. 272: 1048576,
  1078. 288: 33555457,
  1079. 304: 34603009,
  1080. 320: 1048577,
  1081. 336: 33555456,
  1082. 352: 34604032,
  1083. 368: 1049601,
  1084. 384: 1025,
  1085. 400: 34604033,
  1086. 416: 1049600,
  1087. 432: 1,
  1088. 448: 0,
  1089. 464: 34603008,
  1090. 480: 33554433,
  1091. 496: 1024,
  1092. 264: 1049600,
  1093. 280: 33555457,
  1094. 296: 34603009,
  1095. 312: 1,
  1096. 328: 33554432,
  1097. 344: 1048576,
  1098. 360: 1025,
  1099. 376: 34604032,
  1100. 392: 33554433,
  1101. 408: 34603008,
  1102. 424: 0,
  1103. 440: 34604033,
  1104. 456: 1049601,
  1105. 472: 1024,
  1106. 488: 33555456,
  1107. 504: 1048577
  1108. }, {
  1109. "0": 134219808,
  1110. 1: 131072,
  1111. 2: 134217728,
  1112. 3: 32,
  1113. 4: 131104,
  1114. 5: 134350880,
  1115. 6: 134350848,
  1116. 7: 2048,
  1117. 8: 134348800,
  1118. 9: 134219776,
  1119. 10: 133120,
  1120. 11: 134348832,
  1121. 12: 2080,
  1122. 13: 0,
  1123. 14: 134217760,
  1124. 15: 133152,
  1125. 2147483648: 2048,
  1126. 2147483649: 134350880,
  1127. 2147483650: 134219808,
  1128. 2147483651: 134217728,
  1129. 2147483652: 134348800,
  1130. 2147483653: 133120,
  1131. 2147483654: 133152,
  1132. 2147483655: 32,
  1133. 2147483656: 134217760,
  1134. 2147483657: 2080,
  1135. 2147483658: 131104,
  1136. 2147483659: 134350848,
  1137. 2147483660: 0,
  1138. 2147483661: 134348832,
  1139. 2147483662: 134219776,
  1140. 2147483663: 131072,
  1141. 16: 133152,
  1142. 17: 134350848,
  1143. 18: 32,
  1144. 19: 2048,
  1145. 20: 134219776,
  1146. 21: 134217760,
  1147. 22: 134348832,
  1148. 23: 131072,
  1149. 24: 0,
  1150. 25: 131104,
  1151. 26: 134348800,
  1152. 27: 134219808,
  1153. 28: 134350880,
  1154. 29: 133120,
  1155. 30: 2080,
  1156. 31: 134217728,
  1157. 2147483664: 131072,
  1158. 2147483665: 2048,
  1159. 2147483666: 134348832,
  1160. 2147483667: 133152,
  1161. 2147483668: 32,
  1162. 2147483669: 134348800,
  1163. 2147483670: 134217728,
  1164. 2147483671: 134219808,
  1165. 2147483672: 134350880,
  1166. 2147483673: 134217760,
  1167. 2147483674: 134219776,
  1168. 2147483675: 0,
  1169. 2147483676: 133120,
  1170. 2147483677: 2080,
  1171. 2147483678: 131104,
  1172. 2147483679: 134350848
  1173. }], x = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], r = s.DES = n.extend({
  1174. _doReset: function() {
  1175. for (var b2 = this._key.words, a = [], c = 0; 56 > c; c++) {
  1176. var d2 = q[c] - 1;
  1177. a[c] = b2[d2 >>> 5] >>> 31 - d2 % 32 & 1;
  1178. }
  1179. b2 = this._subKeys = [];
  1180. for (d2 = 0; 16 > d2; d2++) {
  1181. for (var f = b2[d2] = [], l2 = v[d2], c = 0; 24 > c; c++)
  1182. f[c / 6 | 0] |= a[(w[c] - 1 + l2) % 28] << 31 - c % 6, f[4 + (c / 6 | 0)] |= a[28 + (w[c + 24] - 1 + l2) % 28] << 31 - c % 6;
  1183. f[0] = f[0] << 1 | f[0] >>> 31;
  1184. for (c = 1; 7 > c; c++)
  1185. f[c] >>>= 4 * (c - 1) + 3;
  1186. f[7] = f[7] << 5 | f[7] >>> 27;
  1187. }
  1188. a = this._invSubKeys = [];
  1189. for (c = 0; 16 > c; c++)
  1190. a[c] = b2[15 - c];
  1191. },
  1192. encryptBlock: function(b2, a) {
  1193. this._doCryptBlock(b2, a, this._subKeys);
  1194. },
  1195. decryptBlock: function(b2, a) {
  1196. this._doCryptBlock(b2, a, this._invSubKeys);
  1197. },
  1198. _doCryptBlock: function(e, a, c) {
  1199. this._lBlock = e[a];
  1200. this._rBlock = e[a + 1];
  1201. u.call(this, 4, 252645135);
  1202. u.call(this, 16, 65535);
  1203. l.call(this, 2, 858993459);
  1204. l.call(this, 8, 16711935);
  1205. u.call(this, 1, 1431655765);
  1206. for (var d2 = 0; 16 > d2; d2++) {
  1207. for (var f = c[d2], n2 = this._lBlock, p2 = this._rBlock, q2 = 0, r2 = 0; 8 > r2; r2++)
  1208. q2 |= b[r2][((p2 ^ f[r2]) & x[r2]) >>> 0];
  1209. this._lBlock = p2;
  1210. this._rBlock = n2 ^ q2;
  1211. }
  1212. c = this._lBlock;
  1213. this._lBlock = this._rBlock;
  1214. this._rBlock = c;
  1215. u.call(this, 1, 1431655765);
  1216. l.call(this, 8, 16711935);
  1217. l.call(this, 2, 858993459);
  1218. u.call(this, 16, 65535);
  1219. u.call(this, 4, 252645135);
  1220. e[a] = this._lBlock;
  1221. e[a + 1] = this._rBlock;
  1222. },
  1223. keySize: 2,
  1224. ivSize: 2,
  1225. blockSize: 2
  1226. });
  1227. d.DES = n._createHelper(r);
  1228. s = s.TripleDES = n.extend({
  1229. _doReset: function() {
  1230. var b2 = this._key.words;
  1231. this._des1 = r.createEncryptor(p.create(b2.slice(0, 2)));
  1232. this._des2 = r.createEncryptor(p.create(b2.slice(2, 4)));
  1233. this._des3 = r.createEncryptor(p.create(b2.slice(4, 6)));
  1234. },
  1235. encryptBlock: function(b2, a) {
  1236. this._des1.encryptBlock(b2, a);
  1237. this._des2.decryptBlock(b2, a);
  1238. this._des3.encryptBlock(b2, a);
  1239. },
  1240. decryptBlock: function(b2, a) {
  1241. this._des3.decryptBlock(b2, a);
  1242. this._des2.encryptBlock(b2, a);
  1243. this._des1.decryptBlock(b2, a);
  1244. },
  1245. keySize: 6,
  1246. ivSize: 2,
  1247. blockSize: 2
  1248. });
  1249. d.TripleDES = n._createHelper(s);
  1250. })();
  1251. CryptoJS.mode.ECB = function() {
  1252. var ECB = CryptoJS.lib.BlockCipherMode.extend();
  1253. ECB.Encryptor = ECB.extend({
  1254. processBlock: function(words, offset) {
  1255. this._cipher.encryptBlock(words, offset);
  1256. }
  1257. });
  1258. ECB.Decryptor = ECB.extend({
  1259. processBlock: function(words, offset) {
  1260. this._cipher.decryptBlock(words, offset);
  1261. }
  1262. });
  1263. return ECB;
  1264. }();
  1265. exports.CryptoJS = CryptoJS;
  1266. //# sourceMappingURL=../../.sourcemap/mp-alipay/utils/crypto-js.min.js.map