md5.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734
  1. /**
  2. * [js-md5]{@link https://github.com/emn178/js-md5}
  3. *
  4. * @namespace md5
  5. * @version 0.7.3
  6. * @author Chen, Yi-Cyuan [emn178@gmail.com]
  7. * @copyright Chen, Yi-Cyuan 2014-2017
  8. * @license MIT
  9. */
  10. !(function () {
  11. 'use strict'
  12. function t(t) {
  13. if (t)
  14. (d[0] =
  15. d[16] =
  16. d[1] =
  17. d[2] =
  18. d[3] =
  19. d[4] =
  20. d[5] =
  21. d[6] =
  22. d[7] =
  23. d[8] =
  24. d[9] =
  25. d[10] =
  26. d[11] =
  27. d[12] =
  28. d[13] =
  29. d[14] =
  30. d[15] =
  31. 0),
  32. (this.blocks = d),
  33. (this.buffer8 = l)
  34. else if (a) {
  35. var r = new ArrayBuffer(68)
  36. ;(this.buffer8 = new Uint8Array(r)), (this.blocks = new Uint32Array(r))
  37. } else this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  38. ;(this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0),
  39. (this.finalized = this.hashed = !1),
  40. (this.first = !0)
  41. }
  42. var r = 'input is invalid type',
  43. e = 'object' == typeof window,
  44. i = e ? window : {}
  45. i.JS_MD5_NO_WINDOW && (e = !1)
  46. var s = !e && 'object' == typeof self,
  47. h =
  48. !i.JS_MD5_NO_NODE_JS &&
  49. 'object' == typeof process &&
  50. process.versions &&
  51. process.versions.node
  52. h ? (i = global) : s && (i = self)
  53. var f = !i.JS_MD5_NO_COMMON_JS && 'object' == typeof module && module.exports,
  54. o = 'function' == typeof define && define.amd,
  55. a = !i.JS_MD5_NO_ARRAY_BUFFER && 'undefined' != typeof ArrayBuffer,
  56. n = '0123456789abcdef'.split(''),
  57. u = [128, 32768, 8388608, -2147483648],
  58. y = [0, 8, 16, 24],
  59. c = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'],
  60. p = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''),
  61. d = [],
  62. l
  63. if (a) {
  64. var A = new ArrayBuffer(68)
  65. ;(l = new Uint8Array(A)), (d = new Uint32Array(A))
  66. }
  67. ;(!i.JS_MD5_NO_NODE_JS && Array.isArray) ||
  68. (Array.isArray = function (t) {
  69. return '[object Array]' === Object.prototype.toString.call(t)
  70. }),
  71. !a ||
  72. (!i.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW && ArrayBuffer.isView) ||
  73. (ArrayBuffer.isView = function (t) {
  74. return 'object' == typeof t && t.buffer && t.buffer.constructor === ArrayBuffer
  75. })
  76. var b = function (r) {
  77. return function (e) {
  78. return new t(!0).update(e)[r]()
  79. }
  80. },
  81. v = function () {
  82. var r = b('hex')
  83. h && (r = w(r)),
  84. (r.create = function () {
  85. return new t()
  86. }),
  87. (r.update = function (t) {
  88. return r.create().update(t)
  89. })
  90. for (var e = 0; e < c.length; ++e) {
  91. var i = c[e]
  92. r[i] = b(i)
  93. }
  94. return r
  95. },
  96. w = function (t) {
  97. var e = eval("require('crypto')"),
  98. i = eval("require('buffer').Buffer"),
  99. s = function (s) {
  100. if ('string' == typeof s) return e.createHash('md5').update(s, 'utf8').digest('hex')
  101. if (null === s || void 0 === s) throw r
  102. return (
  103. s.constructor === ArrayBuffer && (s = new Uint8Array(s)),
  104. Array.isArray(s) || ArrayBuffer.isView(s) || s.constructor === i
  105. ? e.createHash('md5').update(new i(s)).digest('hex')
  106. : t(s)
  107. )
  108. }
  109. return s
  110. }
  111. ;(t.prototype.update = function (t) {
  112. if (!this.finalized) {
  113. var e,
  114. i = typeof t
  115. if ('string' !== i) {
  116. if ('object' !== i) throw r
  117. if (null === t) throw r
  118. if (a && t.constructor === ArrayBuffer) t = new Uint8Array(t)
  119. else if (!(Array.isArray(t) || (a && ArrayBuffer.isView(t)))) throw r
  120. e = !0
  121. }
  122. for (var s, h, f = 0, o = t.length, n = this.blocks, u = this.buffer8; f < o; ) {
  123. if (
  124. (this.hashed &&
  125. ((this.hashed = !1),
  126. (n[0] = n[16]),
  127. (n[16] =
  128. n[1] =
  129. n[2] =
  130. n[3] =
  131. n[4] =
  132. n[5] =
  133. n[6] =
  134. n[7] =
  135. n[8] =
  136. n[9] =
  137. n[10] =
  138. n[11] =
  139. n[12] =
  140. n[13] =
  141. n[14] =
  142. n[15] =
  143. 0)),
  144. e)
  145. )
  146. if (a) for (h = this.start; f < o && h < 64; ++f) u[h++] = t[f]
  147. else for (h = this.start; f < o && h < 64; ++f) n[h >> 2] |= t[f] << y[3 & h++]
  148. else if (a)
  149. for (h = this.start; f < o && h < 64; ++f)
  150. (s = t.charCodeAt(f)) < 128
  151. ? (u[h++] = s)
  152. : s < 2048
  153. ? ((u[h++] = 192 | (s >> 6)), (u[h++] = 128 | (63 & s)))
  154. : s < 55296 || s >= 57344
  155. ? ((u[h++] = 224 | (s >> 12)),
  156. (u[h++] = 128 | ((s >> 6) & 63)),
  157. (u[h++] = 128 | (63 & s)))
  158. : ((s = 65536 + (((1023 & s) << 10) | (1023 & t.charCodeAt(++f)))),
  159. (u[h++] = 240 | (s >> 18)),
  160. (u[h++] = 128 | ((s >> 12) & 63)),
  161. (u[h++] = 128 | ((s >> 6) & 63)),
  162. (u[h++] = 128 | (63 & s)))
  163. else
  164. for (h = this.start; f < o && h < 64; ++f)
  165. (s = t.charCodeAt(f)) < 128
  166. ? (n[h >> 2] |= s << y[3 & h++])
  167. : s < 2048
  168. ? ((n[h >> 2] |= (192 | (s >> 6)) << y[3 & h++]),
  169. (n[h >> 2] |= (128 | (63 & s)) << y[3 & h++]))
  170. : s < 55296 || s >= 57344
  171. ? ((n[h >> 2] |= (224 | (s >> 12)) << y[3 & h++]),
  172. (n[h >> 2] |= (128 | ((s >> 6) & 63)) << y[3 & h++]),
  173. (n[h >> 2] |= (128 | (63 & s)) << y[3 & h++]))
  174. : ((s = 65536 + (((1023 & s) << 10) | (1023 & t.charCodeAt(++f)))),
  175. (n[h >> 2] |= (240 | (s >> 18)) << y[3 & h++]),
  176. (n[h >> 2] |= (128 | ((s >> 12) & 63)) << y[3 & h++]),
  177. (n[h >> 2] |= (128 | ((s >> 6) & 63)) << y[3 & h++]),
  178. (n[h >> 2] |= (128 | (63 & s)) << y[3 & h++]))
  179. ;(this.lastByteIndex = h),
  180. (this.bytes += h - this.start),
  181. h >= 64 ? ((this.start = h - 64), this.hash(), (this.hashed = !0)) : (this.start = h)
  182. }
  183. return (
  184. this.bytes > 4294967295 &&
  185. ((this.hBytes += (this.bytes / 4294967296) << 0), (this.bytes = this.bytes % 4294967296)),
  186. this
  187. )
  188. }
  189. }),
  190. (t.prototype.finalize = function () {
  191. if (!this.finalized) {
  192. this.finalized = !0
  193. var t = this.blocks,
  194. r = this.lastByteIndex
  195. ;(t[r >> 2] |= u[3 & r]),
  196. r >= 56 &&
  197. (this.hashed || this.hash(),
  198. (t[0] = t[16]),
  199. (t[16] =
  200. t[1] =
  201. t[2] =
  202. t[3] =
  203. t[4] =
  204. t[5] =
  205. t[6] =
  206. t[7] =
  207. t[8] =
  208. t[9] =
  209. t[10] =
  210. t[11] =
  211. t[12] =
  212. t[13] =
  213. t[14] =
  214. t[15] =
  215. 0)),
  216. (t[14] = this.bytes << 3),
  217. (t[15] = (this.hBytes << 3) | (this.bytes >>> 29)),
  218. this.hash()
  219. }
  220. }),
  221. (t.prototype.hash = function () {
  222. var t,
  223. r,
  224. e,
  225. i,
  226. s,
  227. h,
  228. f = this.blocks
  229. this.first
  230. ? (r =
  231. ((((r =
  232. ((t = ((((t = f[0] - 680876937) << 7) | (t >>> 25)) - 271733879) << 0) ^
  233. ((e =
  234. ((((e =
  235. (-271733879 ^
  236. ((i =
  237. ((((i = (-1732584194 ^ (2004318071 & t)) + f[1] - 117830708) << 12) |
  238. (i >>> 20)) +
  239. t) <<
  240. 0) &
  241. (-271733879 ^ t))) +
  242. f[2] -
  243. 1126478375) <<
  244. 17) |
  245. (e >>> 15)) +
  246. i) <<
  247. 0) &
  248. (i ^ t))) +
  249. f[3] -
  250. 1316259209) <<
  251. 22) |
  252. (r >>> 10)) +
  253. e) <<
  254. 0)
  255. : ((t = this.h0),
  256. (r = this.h1),
  257. (e = this.h2),
  258. (r =
  259. ((((r +=
  260. ((t =
  261. ((((t += ((i = this.h3) ^ (r & (e ^ i))) + f[0] - 680876936) << 7) | (t >>> 25)) +
  262. r) <<
  263. 0) ^
  264. ((e =
  265. ((((e +=
  266. (r ^
  267. ((i =
  268. ((((i += (e ^ (t & (r ^ e))) + f[1] - 389564586) << 12) | (i >>> 20)) +
  269. t) <<
  270. 0) &
  271. (t ^ r))) +
  272. f[2] +
  273. 606105819) <<
  274. 17) |
  275. (e >>> 15)) +
  276. i) <<
  277. 0) &
  278. (i ^ t))) +
  279. f[3] -
  280. 1044525330) <<
  281. 22) |
  282. (r >>> 10)) +
  283. e) <<
  284. 0)),
  285. (r =
  286. ((((r +=
  287. ((t = ((((t += (i ^ (r & (e ^ i))) + f[4] - 176418897) << 7) | (t >>> 25)) + r) << 0) ^
  288. ((e =
  289. ((((e +=
  290. (r ^
  291. ((i =
  292. ((((i += (e ^ (t & (r ^ e))) + f[5] + 1200080426) << 12) | (i >>> 20)) + t) <<
  293. 0) &
  294. (t ^ r))) +
  295. f[6] -
  296. 1473231341) <<
  297. 17) |
  298. (e >>> 15)) +
  299. i) <<
  300. 0) &
  301. (i ^ t))) +
  302. f[7] -
  303. 45705983) <<
  304. 22) |
  305. (r >>> 10)) +
  306. e) <<
  307. 0),
  308. (r =
  309. ((((r +=
  310. ((t = ((((t += (i ^ (r & (e ^ i))) + f[8] + 1770035416) << 7) | (t >>> 25)) + r) << 0) ^
  311. ((e =
  312. ((((e +=
  313. (r ^
  314. ((i =
  315. ((((i += (e ^ (t & (r ^ e))) + f[9] - 1958414417) << 12) | (i >>> 20)) + t) <<
  316. 0) &
  317. (t ^ r))) +
  318. f[10] -
  319. 42063) <<
  320. 17) |
  321. (e >>> 15)) +
  322. i) <<
  323. 0) &
  324. (i ^ t))) +
  325. f[11] -
  326. 1990404162) <<
  327. 22) |
  328. (r >>> 10)) +
  329. e) <<
  330. 0),
  331. (r =
  332. ((((r +=
  333. ((t =
  334. ((((t += (i ^ (r & (e ^ i))) + f[12] + 1804603682) << 7) | (t >>> 25)) + r) << 0) ^
  335. ((e =
  336. ((((e +=
  337. (r ^
  338. ((i =
  339. ((((i += (e ^ (t & (r ^ e))) + f[13] - 40341101) << 12) | (i >>> 20)) + t) <<
  340. 0) &
  341. (t ^ r))) +
  342. f[14] -
  343. 1502002290) <<
  344. 17) |
  345. (e >>> 15)) +
  346. i) <<
  347. 0) &
  348. (i ^ t))) +
  349. f[15] +
  350. 1236535329) <<
  351. 22) |
  352. (r >>> 10)) +
  353. e) <<
  354. 0),
  355. (r =
  356. ((((r +=
  357. ((i =
  358. ((((i +=
  359. (r ^
  360. (e &
  361. ((t =
  362. ((((t += (e ^ (i & (r ^ e))) + f[1] - 165796510) << 5) | (t >>> 27)) + r) <<
  363. 0) ^
  364. r))) +
  365. f[6] -
  366. 1069501632) <<
  367. 9) |
  368. (i >>> 23)) +
  369. t) <<
  370. 0) ^
  371. (t &
  372. ((e =
  373. ((((e += (t ^ (r & (i ^ t))) + f[11] + 643717713) << 14) | (e >>> 18)) + i) <<
  374. 0) ^
  375. i))) +
  376. f[0] -
  377. 373897302) <<
  378. 20) |
  379. (r >>> 12)) +
  380. e) <<
  381. 0),
  382. (r =
  383. ((((r +=
  384. ((i =
  385. ((((i +=
  386. (r ^
  387. (e &
  388. ((t =
  389. ((((t += (e ^ (i & (r ^ e))) + f[5] - 701558691) << 5) | (t >>> 27)) + r) <<
  390. 0) ^
  391. r))) +
  392. f[10] +
  393. 38016083) <<
  394. 9) |
  395. (i >>> 23)) +
  396. t) <<
  397. 0) ^
  398. (t &
  399. ((e =
  400. ((((e += (t ^ (r & (i ^ t))) + f[15] - 660478335) << 14) | (e >>> 18)) + i) <<
  401. 0) ^
  402. i))) +
  403. f[4] -
  404. 405537848) <<
  405. 20) |
  406. (r >>> 12)) +
  407. e) <<
  408. 0),
  409. (r =
  410. ((((r +=
  411. ((i =
  412. ((((i +=
  413. (r ^
  414. (e &
  415. ((t =
  416. ((((t += (e ^ (i & (r ^ e))) + f[9] + 568446438) << 5) | (t >>> 27)) + r) <<
  417. 0) ^
  418. r))) +
  419. f[14] -
  420. 1019803690) <<
  421. 9) |
  422. (i >>> 23)) +
  423. t) <<
  424. 0) ^
  425. (t &
  426. ((e =
  427. ((((e += (t ^ (r & (i ^ t))) + f[3] - 187363961) << 14) | (e >>> 18)) + i) << 0) ^
  428. i))) +
  429. f[8] +
  430. 1163531501) <<
  431. 20) |
  432. (r >>> 12)) +
  433. e) <<
  434. 0),
  435. (r =
  436. ((((r +=
  437. ((i =
  438. ((((i +=
  439. (r ^
  440. (e &
  441. ((t =
  442. ((((t += (e ^ (i & (r ^ e))) + f[13] - 1444681467) << 5) | (t >>> 27)) + r) <<
  443. 0) ^
  444. r))) +
  445. f[2] -
  446. 51403784) <<
  447. 9) |
  448. (i >>> 23)) +
  449. t) <<
  450. 0) ^
  451. (t &
  452. ((e =
  453. ((((e += (t ^ (r & (i ^ t))) + f[7] + 1735328473) << 14) | (e >>> 18)) + i) <<
  454. 0) ^
  455. i))) +
  456. f[12] -
  457. 1926607734) <<
  458. 20) |
  459. (r >>> 12)) +
  460. e) <<
  461. 0),
  462. (r =
  463. ((((r +=
  464. ((h =
  465. (i =
  466. ((((i +=
  467. ((s = r ^ e) ^
  468. (t = ((((t += (s ^ i) + f[5] - 378558) << 4) | (t >>> 28)) + r) << 0)) +
  469. f[8] -
  470. 2022574463) <<
  471. 11) |
  472. (i >>> 21)) +
  473. t) <<
  474. 0) ^ t) ^
  475. (e = ((((e += (h ^ r) + f[11] + 1839030562) << 16) | (e >>> 16)) + i) << 0)) +
  476. f[14] -
  477. 35309556) <<
  478. 23) |
  479. (r >>> 9)) +
  480. e) <<
  481. 0),
  482. (r =
  483. ((((r +=
  484. ((h =
  485. (i =
  486. ((((i +=
  487. ((s = r ^ e) ^
  488. (t = ((((t += (s ^ i) + f[1] - 1530992060) << 4) | (t >>> 28)) + r) << 0)) +
  489. f[4] +
  490. 1272893353) <<
  491. 11) |
  492. (i >>> 21)) +
  493. t) <<
  494. 0) ^ t) ^
  495. (e = ((((e += (h ^ r) + f[7] - 155497632) << 16) | (e >>> 16)) + i) << 0)) +
  496. f[10] -
  497. 1094730640) <<
  498. 23) |
  499. (r >>> 9)) +
  500. e) <<
  501. 0),
  502. (r =
  503. ((((r +=
  504. ((h =
  505. (i =
  506. ((((i +=
  507. ((s = r ^ e) ^
  508. (t = ((((t += (s ^ i) + f[13] + 681279174) << 4) | (t >>> 28)) + r) << 0)) +
  509. f[0] -
  510. 358537222) <<
  511. 11) |
  512. (i >>> 21)) +
  513. t) <<
  514. 0) ^ t) ^
  515. (e = ((((e += (h ^ r) + f[3] - 722521979) << 16) | (e >>> 16)) + i) << 0)) +
  516. f[6] +
  517. 76029189) <<
  518. 23) |
  519. (r >>> 9)) +
  520. e) <<
  521. 0),
  522. (r =
  523. ((((r +=
  524. ((h =
  525. (i =
  526. ((((i +=
  527. ((s = r ^ e) ^
  528. (t = ((((t += (s ^ i) + f[9] - 640364487) << 4) | (t >>> 28)) + r) << 0)) +
  529. f[12] -
  530. 421815835) <<
  531. 11) |
  532. (i >>> 21)) +
  533. t) <<
  534. 0) ^ t) ^
  535. (e = ((((e += (h ^ r) + f[15] + 530742520) << 16) | (e >>> 16)) + i) << 0)) +
  536. f[2] -
  537. 995338651) <<
  538. 23) |
  539. (r >>> 9)) +
  540. e) <<
  541. 0),
  542. (r =
  543. ((((r +=
  544. ((i =
  545. ((((i +=
  546. (r ^
  547. ((t = ((((t += (e ^ (r | ~i)) + f[0] - 198630844) << 6) | (t >>> 26)) + r) << 0) |
  548. ~e)) +
  549. f[7] +
  550. 1126891415) <<
  551. 10) |
  552. (i >>> 22)) +
  553. t) <<
  554. 0) ^
  555. ((e = ((((e += (t ^ (i | ~r)) + f[14] - 1416354905) << 15) | (e >>> 17)) + i) << 0) |
  556. ~t)) +
  557. f[5] -
  558. 57434055) <<
  559. 21) |
  560. (r >>> 11)) +
  561. e) <<
  562. 0),
  563. (r =
  564. ((((r +=
  565. ((i =
  566. ((((i +=
  567. (r ^
  568. ((t =
  569. ((((t += (e ^ (r | ~i)) + f[12] + 1700485571) << 6) | (t >>> 26)) + r) << 0) |
  570. ~e)) +
  571. f[3] -
  572. 1894986606) <<
  573. 10) |
  574. (i >>> 22)) +
  575. t) <<
  576. 0) ^
  577. ((e = ((((e += (t ^ (i | ~r)) + f[10] - 1051523) << 15) | (e >>> 17)) + i) << 0) |
  578. ~t)) +
  579. f[1] -
  580. 2054922799) <<
  581. 21) |
  582. (r >>> 11)) +
  583. e) <<
  584. 0),
  585. (r =
  586. ((((r +=
  587. ((i =
  588. ((((i +=
  589. (r ^
  590. ((t =
  591. ((((t += (e ^ (r | ~i)) + f[8] + 1873313359) << 6) | (t >>> 26)) + r) << 0) |
  592. ~e)) +
  593. f[15] -
  594. 30611744) <<
  595. 10) |
  596. (i >>> 22)) +
  597. t) <<
  598. 0) ^
  599. ((e = ((((e += (t ^ (i | ~r)) + f[6] - 1560198380) << 15) | (e >>> 17)) + i) << 0) |
  600. ~t)) +
  601. f[13] +
  602. 1309151649) <<
  603. 21) |
  604. (r >>> 11)) +
  605. e) <<
  606. 0),
  607. (r =
  608. ((((r +=
  609. ((i =
  610. ((((i +=
  611. (r ^
  612. ((t = ((((t += (e ^ (r | ~i)) + f[4] - 145523070) << 6) | (t >>> 26)) + r) << 0) |
  613. ~e)) +
  614. f[11] -
  615. 1120210379) <<
  616. 10) |
  617. (i >>> 22)) +
  618. t) <<
  619. 0) ^
  620. ((e = ((((e += (t ^ (i | ~r)) + f[2] + 718787259) << 15) | (e >>> 17)) + i) << 0) |
  621. ~t)) +
  622. f[9] -
  623. 343485551) <<
  624. 21) |
  625. (r >>> 11)) +
  626. e) <<
  627. 0),
  628. this.first
  629. ? ((this.h0 = (t + 1732584193) << 0),
  630. (this.h1 = (r - 271733879) << 0),
  631. (this.h2 = (e - 1732584194) << 0),
  632. (this.h3 = (i + 271733878) << 0),
  633. (this.first = !1))
  634. : ((this.h0 = (this.h0 + t) << 0),
  635. (this.h1 = (this.h1 + r) << 0),
  636. (this.h2 = (this.h2 + e) << 0),
  637. (this.h3 = (this.h3 + i) << 0))
  638. }),
  639. (t.prototype.hex = function () {
  640. this.finalize()
  641. var t = this.h0,
  642. r = this.h1,
  643. e = this.h2,
  644. i = this.h3
  645. return (
  646. n[(t >> 4) & 15] +
  647. n[15 & t] +
  648. n[(t >> 12) & 15] +
  649. n[(t >> 8) & 15] +
  650. n[(t >> 20) & 15] +
  651. n[(t >> 16) & 15] +
  652. n[(t >> 28) & 15] +
  653. n[(t >> 24) & 15] +
  654. n[(r >> 4) & 15] +
  655. n[15 & r] +
  656. n[(r >> 12) & 15] +
  657. n[(r >> 8) & 15] +
  658. n[(r >> 20) & 15] +
  659. n[(r >> 16) & 15] +
  660. n[(r >> 28) & 15] +
  661. n[(r >> 24) & 15] +
  662. n[(e >> 4) & 15] +
  663. n[15 & e] +
  664. n[(e >> 12) & 15] +
  665. n[(e >> 8) & 15] +
  666. n[(e >> 20) & 15] +
  667. n[(e >> 16) & 15] +
  668. n[(e >> 28) & 15] +
  669. n[(e >> 24) & 15] +
  670. n[(i >> 4) & 15] +
  671. n[15 & i] +
  672. n[(i >> 12) & 15] +
  673. n[(i >> 8) & 15] +
  674. n[(i >> 20) & 15] +
  675. n[(i >> 16) & 15] +
  676. n[(i >> 28) & 15] +
  677. n[(i >> 24) & 15]
  678. )
  679. }),
  680. (t.prototype.toString = t.prototype.hex),
  681. (t.prototype.digest = function () {
  682. this.finalize()
  683. var t = this.h0,
  684. r = this.h1,
  685. e = this.h2,
  686. i = this.h3
  687. return [
  688. 255 & t,
  689. (t >> 8) & 255,
  690. (t >> 16) & 255,
  691. (t >> 24) & 255,
  692. 255 & r,
  693. (r >> 8) & 255,
  694. (r >> 16) & 255,
  695. (r >> 24) & 255,
  696. 255 & e,
  697. (e >> 8) & 255,
  698. (e >> 16) & 255,
  699. (e >> 24) & 255,
  700. 255 & i,
  701. (i >> 8) & 255,
  702. (i >> 16) & 255,
  703. (i >> 24) & 255,
  704. ]
  705. }),
  706. (t.prototype.array = t.prototype.digest),
  707. (t.prototype.arrayBuffer = function () {
  708. this.finalize()
  709. var t = new ArrayBuffer(16),
  710. r = new Uint32Array(t)
  711. return (r[0] = this.h0), (r[1] = this.h1), (r[2] = this.h2), (r[3] = this.h3), t
  712. }),
  713. (t.prototype.buffer = t.prototype.arrayBuffer),
  714. (t.prototype.base64 = function () {
  715. for (var t, r, e, i = '', s = this.array(), h = 0; h < 15; )
  716. (t = s[h++]),
  717. (r = s[h++]),
  718. (e = s[h++]),
  719. (i +=
  720. p[t >>> 2] +
  721. p[63 & ((t << 4) | (r >>> 4))] +
  722. p[63 & ((r << 2) | (e >>> 6))] +
  723. p[63 & e])
  724. return (t = s[h]), (i += p[t >>> 2] + p[(t << 4) & 63] + '==')
  725. })
  726. var _ = v()
  727. f
  728. ? (module.exports = _)
  729. : ((i.md5 = _),
  730. o &&
  731. define(function () {
  732. return _
  733. }))
  734. })()