js-md5.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. import {
  2. __commonJS
  3. } from "./chunk-Y2F7D3TJ.js";
  4. // browser-external:crypto
  5. var require_crypto = __commonJS({
  6. "browser-external:crypto"(exports, module) {
  7. module.exports = Object.create(new Proxy({}, {
  8. get(_, key) {
  9. if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") {
  10. console.warn(`Module "crypto" has been externalized for browser compatibility. Cannot access "crypto.${key}" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`);
  11. }
  12. }
  13. }));
  14. }
  15. });
  16. // browser-external:buffer
  17. var require_buffer = __commonJS({
  18. "browser-external:buffer"(exports, module) {
  19. module.exports = Object.create(new Proxy({}, {
  20. get(_, key) {
  21. if (key !== "__esModule" && key !== "__proto__" && key !== "constructor" && key !== "splice") {
  22. console.warn(`Module "buffer" has been externalized for browser compatibility. Cannot access "buffer.${key}" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`);
  23. }
  24. }
  25. }));
  26. }
  27. });
  28. // F:/test/exam_exam/node_modules/js-md5/src/md5.js
  29. var require_md5 = __commonJS({
  30. "F:/test/exam_exam/node_modules/js-md5/src/md5.js"(exports, module) {
  31. (function() {
  32. "use strict";
  33. var INPUT_ERROR = "input is invalid type";
  34. var FINALIZE_ERROR = "finalize already called";
  35. var WINDOW = typeof window === "object";
  36. var root = WINDOW ? window : {};
  37. if (root.JS_MD5_NO_WINDOW) {
  38. WINDOW = false;
  39. }
  40. var WEB_WORKER = !WINDOW && typeof self === "object";
  41. var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
  42. if (NODE_JS) {
  43. root = global;
  44. } else if (WEB_WORKER) {
  45. root = self;
  46. }
  47. var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === "object" && module.exports;
  48. var AMD = typeof define === "function" && define.amd;
  49. var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined";
  50. var HEX_CHARS = "0123456789abcdef".split("");
  51. var EXTRA = [128, 32768, 8388608, -2147483648];
  52. var SHIFT = [0, 8, 16, 24];
  53. var OUTPUT_TYPES = ["hex", "array", "digest", "buffer", "arrayBuffer", "base64"];
  54. var BASE64_ENCODE_CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
  55. var blocks = [], buffer8;
  56. if (ARRAY_BUFFER) {
  57. var buffer = new ArrayBuffer(68);
  58. buffer8 = new Uint8Array(buffer);
  59. blocks = new Uint32Array(buffer);
  60. }
  61. var isArray = Array.isArray;
  62. if (root.JS_MD5_NO_NODE_JS || !isArray) {
  63. isArray = function(obj) {
  64. return Object.prototype.toString.call(obj) === "[object Array]";
  65. };
  66. }
  67. var isView = ArrayBuffer.isView;
  68. if (ARRAY_BUFFER && (root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !isView)) {
  69. isView = function(obj) {
  70. return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer;
  71. };
  72. }
  73. var formatMessage = function(message) {
  74. var type = typeof message;
  75. if (type === "string") {
  76. return [message, true];
  77. }
  78. if (type !== "object" || message === null) {
  79. throw new Error(INPUT_ERROR);
  80. }
  81. if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
  82. return [new Uint8Array(message), false];
  83. }
  84. if (!isArray(message) && !isView(message)) {
  85. throw new Error(INPUT_ERROR);
  86. }
  87. return [message, false];
  88. };
  89. var createOutputMethod = function(outputType) {
  90. return function(message) {
  91. return new Md5(true).update(message)[outputType]();
  92. };
  93. };
  94. var createMethod = function() {
  95. var method = createOutputMethod("hex");
  96. if (NODE_JS) {
  97. method = nodeWrap(method);
  98. }
  99. method.create = function() {
  100. return new Md5();
  101. };
  102. method.update = function(message) {
  103. return method.create().update(message);
  104. };
  105. for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
  106. var type = OUTPUT_TYPES[i];
  107. method[type] = createOutputMethod(type);
  108. }
  109. return method;
  110. };
  111. var nodeWrap = function(method) {
  112. var crypto = require_crypto();
  113. var Buffer = require_buffer().Buffer;
  114. var bufferFrom;
  115. if (Buffer.from && !root.JS_MD5_NO_BUFFER_FROM) {
  116. bufferFrom = Buffer.from;
  117. } else {
  118. bufferFrom = function(message) {
  119. return new Buffer(message);
  120. };
  121. }
  122. var nodeMethod = function(message) {
  123. if (typeof message === "string") {
  124. return crypto.createHash("md5").update(message, "utf8").digest("hex");
  125. } else {
  126. if (message === null || message === void 0) {
  127. throw new Error(INPUT_ERROR);
  128. } else if (message.constructor === ArrayBuffer) {
  129. message = new Uint8Array(message);
  130. }
  131. }
  132. if (isArray(message) || isView(message) || message.constructor === Buffer) {
  133. return crypto.createHash("md5").update(bufferFrom(message)).digest("hex");
  134. } else {
  135. return method(message);
  136. }
  137. };
  138. return nodeMethod;
  139. };
  140. var createHmacOutputMethod = function(outputType) {
  141. return function(key, message) {
  142. return new HmacMd5(key, true).update(message)[outputType]();
  143. };
  144. };
  145. var createHmacMethod = function() {
  146. var method = createHmacOutputMethod("hex");
  147. method.create = function(key) {
  148. return new HmacMd5(key);
  149. };
  150. method.update = function(key, message) {
  151. return method.create(key).update(message);
  152. };
  153. for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
  154. var type = OUTPUT_TYPES[i];
  155. method[type] = createHmacOutputMethod(type);
  156. }
  157. return method;
  158. };
  159. function Md5(sharedMemory) {
  160. if (sharedMemory) {
  161. blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;
  162. this.blocks = blocks;
  163. this.buffer8 = buffer8;
  164. } else {
  165. if (ARRAY_BUFFER) {
  166. var buffer2 = new ArrayBuffer(68);
  167. this.buffer8 = new Uint8Array(buffer2);
  168. this.blocks = new Uint32Array(buffer2);
  169. } else {
  170. this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  171. }
  172. }
  173. this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;
  174. this.finalized = this.hashed = false;
  175. this.first = true;
  176. }
  177. Md5.prototype.update = function(message) {
  178. if (this.finalized) {
  179. throw new Error(FINALIZE_ERROR);
  180. }
  181. var result = formatMessage(message);
  182. message = result[0];
  183. var isString = result[1];
  184. var code, index = 0, i, length = message.length, blocks2 = this.blocks;
  185. var buffer82 = this.buffer8;
  186. while (index < length) {
  187. if (this.hashed) {
  188. this.hashed = false;
  189. blocks2[0] = blocks2[16];
  190. blocks2[16] = blocks2[1] = blocks2[2] = blocks2[3] = blocks2[4] = blocks2[5] = blocks2[6] = blocks2[7] = blocks2[8] = blocks2[9] = blocks2[10] = blocks2[11] = blocks2[12] = blocks2[13] = blocks2[14] = blocks2[15] = 0;
  191. }
  192. if (isString) {
  193. if (ARRAY_BUFFER) {
  194. for (i = this.start; index < length && i < 64; ++index) {
  195. code = message.charCodeAt(index);
  196. if (code < 128) {
  197. buffer82[i++] = code;
  198. } else if (code < 2048) {
  199. buffer82[i++] = 192 | code >>> 6;
  200. buffer82[i++] = 128 | code & 63;
  201. } else if (code < 55296 || code >= 57344) {
  202. buffer82[i++] = 224 | code >>> 12;
  203. buffer82[i++] = 128 | code >>> 6 & 63;
  204. buffer82[i++] = 128 | code & 63;
  205. } else {
  206. code = 65536 + ((code & 1023) << 10 | message.charCodeAt(++index) & 1023);
  207. buffer82[i++] = 240 | code >>> 18;
  208. buffer82[i++] = 128 | code >>> 12 & 63;
  209. buffer82[i++] = 128 | code >>> 6 & 63;
  210. buffer82[i++] = 128 | code & 63;
  211. }
  212. }
  213. } else {
  214. for (i = this.start; index < length && i < 64; ++index) {
  215. code = message.charCodeAt(index);
  216. if (code < 128) {
  217. blocks2[i >>> 2] |= code << SHIFT[i++ & 3];
  218. } else if (code < 2048) {
  219. blocks2[i >>> 2] |= (192 | code >>> 6) << SHIFT[i++ & 3];
  220. blocks2[i >>> 2] |= (128 | code & 63) << SHIFT[i++ & 3];
  221. } else if (code < 55296 || code >= 57344) {
  222. blocks2[i >>> 2] |= (224 | code >>> 12) << SHIFT[i++ & 3];
  223. blocks2[i >>> 2] |= (128 | code >>> 6 & 63) << SHIFT[i++ & 3];
  224. blocks2[i >>> 2] |= (128 | code & 63) << SHIFT[i++ & 3];
  225. } else {
  226. code = 65536 + ((code & 1023) << 10 | message.charCodeAt(++index) & 1023);
  227. blocks2[i >>> 2] |= (240 | code >>> 18) << SHIFT[i++ & 3];
  228. blocks2[i >>> 2] |= (128 | code >>> 12 & 63) << SHIFT[i++ & 3];
  229. blocks2[i >>> 2] |= (128 | code >>> 6 & 63) << SHIFT[i++ & 3];
  230. blocks2[i >>> 2] |= (128 | code & 63) << SHIFT[i++ & 3];
  231. }
  232. }
  233. }
  234. } else {
  235. if (ARRAY_BUFFER) {
  236. for (i = this.start; index < length && i < 64; ++index) {
  237. buffer82[i++] = message[index];
  238. }
  239. } else {
  240. for (i = this.start; index < length && i < 64; ++index) {
  241. blocks2[i >>> 2] |= message[index] << SHIFT[i++ & 3];
  242. }
  243. }
  244. }
  245. this.lastByteIndex = i;
  246. this.bytes += i - this.start;
  247. if (i >= 64) {
  248. this.start = i - 64;
  249. this.hash();
  250. this.hashed = true;
  251. } else {
  252. this.start = i;
  253. }
  254. }
  255. if (this.bytes > 4294967295) {
  256. this.hBytes += this.bytes / 4294967296 << 0;
  257. this.bytes = this.bytes % 4294967296;
  258. }
  259. return this;
  260. };
  261. Md5.prototype.finalize = function() {
  262. if (this.finalized) {
  263. return;
  264. }
  265. this.finalized = true;
  266. var blocks2 = this.blocks, i = this.lastByteIndex;
  267. blocks2[i >>> 2] |= EXTRA[i & 3];
  268. if (i >= 56) {
  269. if (!this.hashed) {
  270. this.hash();
  271. }
  272. blocks2[0] = blocks2[16];
  273. blocks2[16] = blocks2[1] = blocks2[2] = blocks2[3] = blocks2[4] = blocks2[5] = blocks2[6] = blocks2[7] = blocks2[8] = blocks2[9] = blocks2[10] = blocks2[11] = blocks2[12] = blocks2[13] = blocks2[14] = blocks2[15] = 0;
  274. }
  275. blocks2[14] = this.bytes << 3;
  276. blocks2[15] = this.hBytes << 3 | this.bytes >>> 29;
  277. this.hash();
  278. };
  279. Md5.prototype.hash = function() {
  280. var a, b, c, d, bc, da, blocks2 = this.blocks;
  281. if (this.first) {
  282. a = blocks2[0] - 680876937;
  283. a = (a << 7 | a >>> 25) - 271733879 << 0;
  284. d = (-1732584194 ^ a & 2004318071) + blocks2[1] - 117830708;
  285. d = (d << 12 | d >>> 20) + a << 0;
  286. c = (-271733879 ^ d & (a ^ -271733879)) + blocks2[2] - 1126478375;
  287. c = (c << 17 | c >>> 15) + d << 0;
  288. b = (a ^ c & (d ^ a)) + blocks2[3] - 1316259209;
  289. b = (b << 22 | b >>> 10) + c << 0;
  290. } else {
  291. a = this.h0;
  292. b = this.h1;
  293. c = this.h2;
  294. d = this.h3;
  295. a += (d ^ b & (c ^ d)) + blocks2[0] - 680876936;
  296. a = (a << 7 | a >>> 25) + b << 0;
  297. d += (c ^ a & (b ^ c)) + blocks2[1] - 389564586;
  298. d = (d << 12 | d >>> 20) + a << 0;
  299. c += (b ^ d & (a ^ b)) + blocks2[2] + 606105819;
  300. c = (c << 17 | c >>> 15) + d << 0;
  301. b += (a ^ c & (d ^ a)) + blocks2[3] - 1044525330;
  302. b = (b << 22 | b >>> 10) + c << 0;
  303. }
  304. a += (d ^ b & (c ^ d)) + blocks2[4] - 176418897;
  305. a = (a << 7 | a >>> 25) + b << 0;
  306. d += (c ^ a & (b ^ c)) + blocks2[5] + 1200080426;
  307. d = (d << 12 | d >>> 20) + a << 0;
  308. c += (b ^ d & (a ^ b)) + blocks2[6] - 1473231341;
  309. c = (c << 17 | c >>> 15) + d << 0;
  310. b += (a ^ c & (d ^ a)) + blocks2[7] - 45705983;
  311. b = (b << 22 | b >>> 10) + c << 0;
  312. a += (d ^ b & (c ^ d)) + blocks2[8] + 1770035416;
  313. a = (a << 7 | a >>> 25) + b << 0;
  314. d += (c ^ a & (b ^ c)) + blocks2[9] - 1958414417;
  315. d = (d << 12 | d >>> 20) + a << 0;
  316. c += (b ^ d & (a ^ b)) + blocks2[10] - 42063;
  317. c = (c << 17 | c >>> 15) + d << 0;
  318. b += (a ^ c & (d ^ a)) + blocks2[11] - 1990404162;
  319. b = (b << 22 | b >>> 10) + c << 0;
  320. a += (d ^ b & (c ^ d)) + blocks2[12] + 1804603682;
  321. a = (a << 7 | a >>> 25) + b << 0;
  322. d += (c ^ a & (b ^ c)) + blocks2[13] - 40341101;
  323. d = (d << 12 | d >>> 20) + a << 0;
  324. c += (b ^ d & (a ^ b)) + blocks2[14] - 1502002290;
  325. c = (c << 17 | c >>> 15) + d << 0;
  326. b += (a ^ c & (d ^ a)) + blocks2[15] + 1236535329;
  327. b = (b << 22 | b >>> 10) + c << 0;
  328. a += (c ^ d & (b ^ c)) + blocks2[1] - 165796510;
  329. a = (a << 5 | a >>> 27) + b << 0;
  330. d += (b ^ c & (a ^ b)) + blocks2[6] - 1069501632;
  331. d = (d << 9 | d >>> 23) + a << 0;
  332. c += (a ^ b & (d ^ a)) + blocks2[11] + 643717713;
  333. c = (c << 14 | c >>> 18) + d << 0;
  334. b += (d ^ a & (c ^ d)) + blocks2[0] - 373897302;
  335. b = (b << 20 | b >>> 12) + c << 0;
  336. a += (c ^ d & (b ^ c)) + blocks2[5] - 701558691;
  337. a = (a << 5 | a >>> 27) + b << 0;
  338. d += (b ^ c & (a ^ b)) + blocks2[10] + 38016083;
  339. d = (d << 9 | d >>> 23) + a << 0;
  340. c += (a ^ b & (d ^ a)) + blocks2[15] - 660478335;
  341. c = (c << 14 | c >>> 18) + d << 0;
  342. b += (d ^ a & (c ^ d)) + blocks2[4] - 405537848;
  343. b = (b << 20 | b >>> 12) + c << 0;
  344. a += (c ^ d & (b ^ c)) + blocks2[9] + 568446438;
  345. a = (a << 5 | a >>> 27) + b << 0;
  346. d += (b ^ c & (a ^ b)) + blocks2[14] - 1019803690;
  347. d = (d << 9 | d >>> 23) + a << 0;
  348. c += (a ^ b & (d ^ a)) + blocks2[3] - 187363961;
  349. c = (c << 14 | c >>> 18) + d << 0;
  350. b += (d ^ a & (c ^ d)) + blocks2[8] + 1163531501;
  351. b = (b << 20 | b >>> 12) + c << 0;
  352. a += (c ^ d & (b ^ c)) + blocks2[13] - 1444681467;
  353. a = (a << 5 | a >>> 27) + b << 0;
  354. d += (b ^ c & (a ^ b)) + blocks2[2] - 51403784;
  355. d = (d << 9 | d >>> 23) + a << 0;
  356. c += (a ^ b & (d ^ a)) + blocks2[7] + 1735328473;
  357. c = (c << 14 | c >>> 18) + d << 0;
  358. b += (d ^ a & (c ^ d)) + blocks2[12] - 1926607734;
  359. b = (b << 20 | b >>> 12) + c << 0;
  360. bc = b ^ c;
  361. a += (bc ^ d) + blocks2[5] - 378558;
  362. a = (a << 4 | a >>> 28) + b << 0;
  363. d += (bc ^ a) + blocks2[8] - 2022574463;
  364. d = (d << 11 | d >>> 21) + a << 0;
  365. da = d ^ a;
  366. c += (da ^ b) + blocks2[11] + 1839030562;
  367. c = (c << 16 | c >>> 16) + d << 0;
  368. b += (da ^ c) + blocks2[14] - 35309556;
  369. b = (b << 23 | b >>> 9) + c << 0;
  370. bc = b ^ c;
  371. a += (bc ^ d) + blocks2[1] - 1530992060;
  372. a = (a << 4 | a >>> 28) + b << 0;
  373. d += (bc ^ a) + blocks2[4] + 1272893353;
  374. d = (d << 11 | d >>> 21) + a << 0;
  375. da = d ^ a;
  376. c += (da ^ b) + blocks2[7] - 155497632;
  377. c = (c << 16 | c >>> 16) + d << 0;
  378. b += (da ^ c) + blocks2[10] - 1094730640;
  379. b = (b << 23 | b >>> 9) + c << 0;
  380. bc = b ^ c;
  381. a += (bc ^ d) + blocks2[13] + 681279174;
  382. a = (a << 4 | a >>> 28) + b << 0;
  383. d += (bc ^ a) + blocks2[0] - 358537222;
  384. d = (d << 11 | d >>> 21) + a << 0;
  385. da = d ^ a;
  386. c += (da ^ b) + blocks2[3] - 722521979;
  387. c = (c << 16 | c >>> 16) + d << 0;
  388. b += (da ^ c) + blocks2[6] + 76029189;
  389. b = (b << 23 | b >>> 9) + c << 0;
  390. bc = b ^ c;
  391. a += (bc ^ d) + blocks2[9] - 640364487;
  392. a = (a << 4 | a >>> 28) + b << 0;
  393. d += (bc ^ a) + blocks2[12] - 421815835;
  394. d = (d << 11 | d >>> 21) + a << 0;
  395. da = d ^ a;
  396. c += (da ^ b) + blocks2[15] + 530742520;
  397. c = (c << 16 | c >>> 16) + d << 0;
  398. b += (da ^ c) + blocks2[2] - 995338651;
  399. b = (b << 23 | b >>> 9) + c << 0;
  400. a += (c ^ (b | ~d)) + blocks2[0] - 198630844;
  401. a = (a << 6 | a >>> 26) + b << 0;
  402. d += (b ^ (a | ~c)) + blocks2[7] + 1126891415;
  403. d = (d << 10 | d >>> 22) + a << 0;
  404. c += (a ^ (d | ~b)) + blocks2[14] - 1416354905;
  405. c = (c << 15 | c >>> 17) + d << 0;
  406. b += (d ^ (c | ~a)) + blocks2[5] - 57434055;
  407. b = (b << 21 | b >>> 11) + c << 0;
  408. a += (c ^ (b | ~d)) + blocks2[12] + 1700485571;
  409. a = (a << 6 | a >>> 26) + b << 0;
  410. d += (b ^ (a | ~c)) + blocks2[3] - 1894986606;
  411. d = (d << 10 | d >>> 22) + a << 0;
  412. c += (a ^ (d | ~b)) + blocks2[10] - 1051523;
  413. c = (c << 15 | c >>> 17) + d << 0;
  414. b += (d ^ (c | ~a)) + blocks2[1] - 2054922799;
  415. b = (b << 21 | b >>> 11) + c << 0;
  416. a += (c ^ (b | ~d)) + blocks2[8] + 1873313359;
  417. a = (a << 6 | a >>> 26) + b << 0;
  418. d += (b ^ (a | ~c)) + blocks2[15] - 30611744;
  419. d = (d << 10 | d >>> 22) + a << 0;
  420. c += (a ^ (d | ~b)) + blocks2[6] - 1560198380;
  421. c = (c << 15 | c >>> 17) + d << 0;
  422. b += (d ^ (c | ~a)) + blocks2[13] + 1309151649;
  423. b = (b << 21 | b >>> 11) + c << 0;
  424. a += (c ^ (b | ~d)) + blocks2[4] - 145523070;
  425. a = (a << 6 | a >>> 26) + b << 0;
  426. d += (b ^ (a | ~c)) + blocks2[11] - 1120210379;
  427. d = (d << 10 | d >>> 22) + a << 0;
  428. c += (a ^ (d | ~b)) + blocks2[2] + 718787259;
  429. c = (c << 15 | c >>> 17) + d << 0;
  430. b += (d ^ (c | ~a)) + blocks2[9] - 343485551;
  431. b = (b << 21 | b >>> 11) + c << 0;
  432. if (this.first) {
  433. this.h0 = a + 1732584193 << 0;
  434. this.h1 = b - 271733879 << 0;
  435. this.h2 = c - 1732584194 << 0;
  436. this.h3 = d + 271733878 << 0;
  437. this.first = false;
  438. } else {
  439. this.h0 = this.h0 + a << 0;
  440. this.h1 = this.h1 + b << 0;
  441. this.h2 = this.h2 + c << 0;
  442. this.h3 = this.h3 + d << 0;
  443. }
  444. };
  445. Md5.prototype.hex = function() {
  446. this.finalize();
  447. var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;
  448. return HEX_CHARS[h0 >>> 4 & 15] + HEX_CHARS[h0 & 15] + HEX_CHARS[h0 >>> 12 & 15] + HEX_CHARS[h0 >>> 8 & 15] + HEX_CHARS[h0 >>> 20 & 15] + HEX_CHARS[h0 >>> 16 & 15] + HEX_CHARS[h0 >>> 28 & 15] + HEX_CHARS[h0 >>> 24 & 15] + HEX_CHARS[h1 >>> 4 & 15] + HEX_CHARS[h1 & 15] + HEX_CHARS[h1 >>> 12 & 15] + HEX_CHARS[h1 >>> 8 & 15] + HEX_CHARS[h1 >>> 20 & 15] + HEX_CHARS[h1 >>> 16 & 15] + HEX_CHARS[h1 >>> 28 & 15] + HEX_CHARS[h1 >>> 24 & 15] + HEX_CHARS[h2 >>> 4 & 15] + HEX_CHARS[h2 & 15] + HEX_CHARS[h2 >>> 12 & 15] + HEX_CHARS[h2 >>> 8 & 15] + HEX_CHARS[h2 >>> 20 & 15] + HEX_CHARS[h2 >>> 16 & 15] + HEX_CHARS[h2 >>> 28 & 15] + HEX_CHARS[h2 >>> 24 & 15] + HEX_CHARS[h3 >>> 4 & 15] + HEX_CHARS[h3 & 15] + HEX_CHARS[h3 >>> 12 & 15] + HEX_CHARS[h3 >>> 8 & 15] + HEX_CHARS[h3 >>> 20 & 15] + HEX_CHARS[h3 >>> 16 & 15] + HEX_CHARS[h3 >>> 28 & 15] + HEX_CHARS[h3 >>> 24 & 15];
  449. };
  450. Md5.prototype.toString = Md5.prototype.hex;
  451. Md5.prototype.digest = function() {
  452. this.finalize();
  453. var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;
  454. return [
  455. h0 & 255,
  456. h0 >>> 8 & 255,
  457. h0 >>> 16 & 255,
  458. h0 >>> 24 & 255,
  459. h1 & 255,
  460. h1 >>> 8 & 255,
  461. h1 >>> 16 & 255,
  462. h1 >>> 24 & 255,
  463. h2 & 255,
  464. h2 >>> 8 & 255,
  465. h2 >>> 16 & 255,
  466. h2 >>> 24 & 255,
  467. h3 & 255,
  468. h3 >>> 8 & 255,
  469. h3 >>> 16 & 255,
  470. h3 >>> 24 & 255
  471. ];
  472. };
  473. Md5.prototype.array = Md5.prototype.digest;
  474. Md5.prototype.arrayBuffer = function() {
  475. this.finalize();
  476. var buffer2 = new ArrayBuffer(16);
  477. var blocks2 = new Uint32Array(buffer2);
  478. blocks2[0] = this.h0;
  479. blocks2[1] = this.h1;
  480. blocks2[2] = this.h2;
  481. blocks2[3] = this.h3;
  482. return buffer2;
  483. };
  484. Md5.prototype.buffer = Md5.prototype.arrayBuffer;
  485. Md5.prototype.base64 = function() {
  486. var v1, v2, v3, base64Str = "", bytes = this.array();
  487. for (var i = 0; i < 15; ) {
  488. v1 = bytes[i++];
  489. v2 = bytes[i++];
  490. v3 = bytes[i++];
  491. base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] + BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] + BASE64_ENCODE_CHAR[v3 & 63];
  492. }
  493. v1 = bytes[i];
  494. base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] + BASE64_ENCODE_CHAR[v1 << 4 & 63] + "==";
  495. return base64Str;
  496. };
  497. function HmacMd5(key, sharedMemory) {
  498. var i, result = formatMessage(key);
  499. key = result[0];
  500. if (result[1]) {
  501. var bytes = [], length = key.length, index = 0, code;
  502. for (i = 0; i < length; ++i) {
  503. code = key.charCodeAt(i);
  504. if (code < 128) {
  505. bytes[index++] = code;
  506. } else if (code < 2048) {
  507. bytes[index++] = 192 | code >>> 6;
  508. bytes[index++] = 128 | code & 63;
  509. } else if (code < 55296 || code >= 57344) {
  510. bytes[index++] = 224 | code >>> 12;
  511. bytes[index++] = 128 | code >>> 6 & 63;
  512. bytes[index++] = 128 | code & 63;
  513. } else {
  514. code = 65536 + ((code & 1023) << 10 | key.charCodeAt(++i) & 1023);
  515. bytes[index++] = 240 | code >>> 18;
  516. bytes[index++] = 128 | code >>> 12 & 63;
  517. bytes[index++] = 128 | code >>> 6 & 63;
  518. bytes[index++] = 128 | code & 63;
  519. }
  520. }
  521. key = bytes;
  522. }
  523. if (key.length > 64) {
  524. key = new Md5(true).update(key).array();
  525. }
  526. var oKeyPad = [], iKeyPad = [];
  527. for (i = 0; i < 64; ++i) {
  528. var b = key[i] || 0;
  529. oKeyPad[i] = 92 ^ b;
  530. iKeyPad[i] = 54 ^ b;
  531. }
  532. Md5.call(this, sharedMemory);
  533. this.update(iKeyPad);
  534. this.oKeyPad = oKeyPad;
  535. this.inner = true;
  536. this.sharedMemory = sharedMemory;
  537. }
  538. HmacMd5.prototype = new Md5();
  539. HmacMd5.prototype.finalize = function() {
  540. Md5.prototype.finalize.call(this);
  541. if (this.inner) {
  542. this.inner = false;
  543. var innerHash = this.array();
  544. Md5.call(this, this.sharedMemory);
  545. this.update(this.oKeyPad);
  546. this.update(innerHash);
  547. Md5.prototype.finalize.call(this);
  548. }
  549. };
  550. var exports2 = createMethod();
  551. exports2.md5 = exports2;
  552. exports2.md5.hmac = createHmacMethod();
  553. if (COMMON_JS) {
  554. module.exports = exports2;
  555. } else {
  556. root.md5 = exports2;
  557. if (AMD) {
  558. define(function() {
  559. return exports2;
  560. });
  561. }
  562. }
  563. })();
  564. }
  565. });
  566. export default require_md5();
  567. /*! Bundled license information:
  568. js-md5/src/md5.js:
  569. (**
  570. * [js-md5]{@link https://github.com/emn178/js-md5}
  571. *
  572. * @namespace md5
  573. * @version 0.8.3
  574. * @author Chen, Yi-Cyuan [emn178@gmail.com]
  575. * @copyright Chen, Yi-Cyuan 2014-2023
  576. * @license MIT
  577. *)
  578. */
  579. //# sourceMappingURL=js-md5.js.map