@loaders.gl/crypto 4.0.0-beta.2 → 4.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/crypto-worker-node.js +1 -1
- package/dist/crypto-worker-node.js.map +2 -2
- package/dist/crypto-worker.js +1 -1
- package/dist/crypto-worker.js.map +2 -2
- package/dist/dist.dev.js +871 -0
- package/dist/index.cjs +1341 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/{esm/lib → lib}/algorithms/crc32.js +1 -2
- package/dist/lib/algorithms/crc32.js.map +1 -0
- package/dist/{esm/lib → lib}/algorithms/crc32c.js +2 -3
- package/dist/lib/algorithms/crc32c.js.map +1 -0
- package/dist/lib/algorithms/md5-wasm.js.map +1 -0
- package/dist/{esm/lib → lib}/crc32-hash.js +6 -7
- package/dist/lib/crc32-hash.js.map +1 -0
- package/dist/{esm/lib → lib}/crc32c-hash.js +6 -7
- package/dist/lib/crc32c-hash.js.map +1 -0
- package/dist/lib/crypto-hash.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/crypto-hash.js +8 -9
- package/dist/lib/crypto-hash.js.map +1 -0
- package/dist/{esm/lib → lib}/hash.js +2 -3
- package/dist/lib/hash.js.map +1 -0
- package/dist/{esm/lib → lib}/md5-hash.js +5 -6
- package/dist/lib/md5-hash.js.map +1 -0
- package/dist/{esm/lib → lib}/sha256-hash.js +1 -1
- package/dist/lib/sha256-hash.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/base64-utils.js +2 -2
- package/dist/lib/utils/base64-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/digest-utils.js +3 -3
- package/dist/lib/utils/digest-utils.js.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/{esm/workers → workers}/worker.js +4 -4
- package/dist/workers/worker.js.map +1 -0
- package/package.json +16 -8
- package/src/index.ts +4 -1
- package/src/lib/crypto-hash.ts +4 -8
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/dist.min.js +0 -2
- package/dist/dist.min.js.map +0 -7
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/index.js +0 -102
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/algorithms/crc32.js +0 -41
- package/dist/es5/lib/algorithms/crc32.js.map +0 -1
- package/dist/es5/lib/algorithms/crc32c.js +0 -44
- package/dist/es5/lib/algorithms/crc32c.js.map +0 -1
- package/dist/es5/lib/algorithms/md5-wasm.js +0 -436
- package/dist/es5/lib/algorithms/md5-wasm.js.map +0 -1
- package/dist/es5/lib/crc32-hash.js +0 -148
- package/dist/es5/lib/crc32-hash.js.map +0 -1
- package/dist/es5/lib/crc32c-hash.js +0 -147
- package/dist/es5/lib/crc32c-hash.js.map +0 -1
- package/dist/es5/lib/crypto-hash.js +0 -189
- package/dist/es5/lib/crypto-hash.js.map +0 -1
- package/dist/es5/lib/hash.js +0 -150
- package/dist/es5/lib/hash.js.map +0 -1
- package/dist/es5/lib/md5-hash.js +0 -66
- package/dist/es5/lib/md5-hash.js.map +0 -1
- package/dist/es5/lib/node-hash.js +0 -155
- package/dist/es5/lib/node-hash.js.map +0 -1
- package/dist/es5/lib/sha256-hash.js +0 -33
- package/dist/es5/lib/sha256-hash.js.map +0 -1
- package/dist/es5/lib/utils/base64-utils.js +0 -94
- package/dist/es5/lib/utils/base64-utils.js.map +0 -1
- package/dist/es5/lib/utils/digest-utils.js +0 -61
- package/dist/es5/lib/utils/digest-utils.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/es5/workers/worker.js +0 -67
- package/dist/es5/workers/worker.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/index.js +0 -28
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/algorithms/crc32.js.map +0 -1
- package/dist/esm/lib/algorithms/crc32c.js.map +0 -1
- package/dist/esm/lib/algorithms/md5-wasm.js.map +0 -1
- package/dist/esm/lib/crc32-hash.js.map +0 -1
- package/dist/esm/lib/crc32c-hash.js.map +0 -1
- package/dist/esm/lib/crypto-hash.js.map +0 -1
- package/dist/esm/lib/hash.js.map +0 -1
- package/dist/esm/lib/md5-hash.js.map +0 -1
- package/dist/esm/lib/node-hash.js +0 -52
- package/dist/esm/lib/node-hash.js.map +0 -1
- package/dist/esm/lib/sha256-hash.js.map +0 -1
- package/dist/esm/lib/utils/base64-utils.js.map +0 -1
- package/dist/esm/lib/utils/digest-utils.js.map +0 -1
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/workers/cryptojs-worker.ts.disabled +0 -26
- package/dist/esm/workers/worker.js.map +0 -1
- package/dist/lib/node-hash.d.ts +0 -28
- package/dist/lib/node-hash.d.ts.map +0 -1
- package/src/bundle.ts +0 -4
- package/src/lib/node-hash.ts +0 -65
- /package/dist/{esm/lib → lib}/algorithms/md5-wasm.js +0 -0
- /package/dist/{esm/types.js → types.js} +0 -0
- /package/dist/{es5/workers → workers}/cryptojs-worker.ts.disabled +0 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,1341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
CRC32CHash: () => CRC32CHash,
|
|
24
|
+
CRC32Hash: () => CRC32Hash,
|
|
25
|
+
CryptoHash: () => CryptoHash,
|
|
26
|
+
CryptoJSWorker: () => CryptoJSWorker,
|
|
27
|
+
CryptoWorker: () => CryptoWorker,
|
|
28
|
+
Hash: () => Hash,
|
|
29
|
+
MD5Hash: () => MD5Hash,
|
|
30
|
+
SHA256Hash: () => SHA256Hash,
|
|
31
|
+
asciiToBase64: () => asciiToBase64,
|
|
32
|
+
base64ToAscii: () => base64ToAscii,
|
|
33
|
+
encodeBase64: () => encodeBase64,
|
|
34
|
+
encodeHex: () => encodeHex,
|
|
35
|
+
encodeNumber: () => encodeNumber
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(src_exports);
|
|
38
|
+
|
|
39
|
+
// src/lib/hash.ts
|
|
40
|
+
var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
41
|
+
var Hash = class {
|
|
42
|
+
constructor(options = {}) {
|
|
43
|
+
this.hashBatches = this.hashBatches.bind(this);
|
|
44
|
+
}
|
|
45
|
+
async preload() {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
async *hashBatches(asyncIterator, encoding = "base64") {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
const arrayBuffers = [];
|
|
51
|
+
for await (const arrayBuffer of asyncIterator) {
|
|
52
|
+
arrayBuffers.push(arrayBuffer);
|
|
53
|
+
yield arrayBuffer;
|
|
54
|
+
}
|
|
55
|
+
const output = await this.concatenate(arrayBuffers);
|
|
56
|
+
const hash = await this.hash(output, encoding);
|
|
57
|
+
(_b = (_a = this.options.crypto) == null ? void 0 : _a.onEnd) == null ? void 0 : _b.call(_a, { hash });
|
|
58
|
+
}
|
|
59
|
+
// HELPERS
|
|
60
|
+
async concatenate(asyncIterator) {
|
|
61
|
+
return await (0, import_loader_utils.concatenateArrayBuffersAsync)(asyncIterator);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// src/lib/algorithms/crc32.ts
|
|
66
|
+
var CRC32 = class {
|
|
67
|
+
constructor() {
|
|
68
|
+
this.crc = ~0;
|
|
69
|
+
}
|
|
70
|
+
update(arrayBuffer) {
|
|
71
|
+
const CRC32_TABLE = getCRC32Table();
|
|
72
|
+
const byteArray = new Uint8Array(arrayBuffer);
|
|
73
|
+
for (let i = 0; i < byteArray.byteLength; i++) {
|
|
74
|
+
this.crc = this.crc >>> 8 ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 255];
|
|
75
|
+
}
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
finalize() {
|
|
79
|
+
this.crc = Math.abs(this.crc ^ -1);
|
|
80
|
+
return this.crc;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var CRC32TAB = Uint32Array.of(
|
|
84
|
+
0,
|
|
85
|
+
1996959894,
|
|
86
|
+
3993919788,
|
|
87
|
+
2567524794,
|
|
88
|
+
124634137,
|
|
89
|
+
1886057615,
|
|
90
|
+
3915621685,
|
|
91
|
+
2657392035,
|
|
92
|
+
249268274,
|
|
93
|
+
2044508324,
|
|
94
|
+
3772115230,
|
|
95
|
+
2547177864,
|
|
96
|
+
162941995,
|
|
97
|
+
2125561021,
|
|
98
|
+
3887607047,
|
|
99
|
+
2428444049,
|
|
100
|
+
498536548,
|
|
101
|
+
1789927666,
|
|
102
|
+
4089016648,
|
|
103
|
+
2227061214,
|
|
104
|
+
450548861,
|
|
105
|
+
1843258603,
|
|
106
|
+
4107580753,
|
|
107
|
+
2211677639,
|
|
108
|
+
325883990,
|
|
109
|
+
1684777152,
|
|
110
|
+
4251122042,
|
|
111
|
+
2321926636,
|
|
112
|
+
335633487,
|
|
113
|
+
1661365465,
|
|
114
|
+
4195302755,
|
|
115
|
+
2366115317,
|
|
116
|
+
997073096,
|
|
117
|
+
1281953886,
|
|
118
|
+
3579855332,
|
|
119
|
+
2724688242,
|
|
120
|
+
1006888145,
|
|
121
|
+
1258607687,
|
|
122
|
+
3524101629,
|
|
123
|
+
2768942443,
|
|
124
|
+
901097722,
|
|
125
|
+
1119000684,
|
|
126
|
+
3686517206,
|
|
127
|
+
2898065728,
|
|
128
|
+
853044451,
|
|
129
|
+
1172266101,
|
|
130
|
+
3705015759,
|
|
131
|
+
2882616665,
|
|
132
|
+
651767980,
|
|
133
|
+
1373503546,
|
|
134
|
+
3369554304,
|
|
135
|
+
3218104598,
|
|
136
|
+
565507253,
|
|
137
|
+
1454621731,
|
|
138
|
+
3485111705,
|
|
139
|
+
3099436303,
|
|
140
|
+
671266974,
|
|
141
|
+
1594198024,
|
|
142
|
+
3322730930,
|
|
143
|
+
2970347812,
|
|
144
|
+
795835527,
|
|
145
|
+
1483230225,
|
|
146
|
+
3244367275,
|
|
147
|
+
3060149565,
|
|
148
|
+
1994146192,
|
|
149
|
+
31158534,
|
|
150
|
+
2563907772,
|
|
151
|
+
4023717930,
|
|
152
|
+
1907459465,
|
|
153
|
+
112637215,
|
|
154
|
+
2680153253,
|
|
155
|
+
3904427059,
|
|
156
|
+
2013776290,
|
|
157
|
+
251722036,
|
|
158
|
+
2517215374,
|
|
159
|
+
3775830040,
|
|
160
|
+
2137656763,
|
|
161
|
+
141376813,
|
|
162
|
+
2439277719,
|
|
163
|
+
3865271297,
|
|
164
|
+
1802195444,
|
|
165
|
+
476864866,
|
|
166
|
+
2238001368,
|
|
167
|
+
4066508878,
|
|
168
|
+
1812370925,
|
|
169
|
+
453092731,
|
|
170
|
+
2181625025,
|
|
171
|
+
4111451223,
|
|
172
|
+
1706088902,
|
|
173
|
+
314042704,
|
|
174
|
+
2344532202,
|
|
175
|
+
4240017532,
|
|
176
|
+
1658658271,
|
|
177
|
+
366619977,
|
|
178
|
+
2362670323,
|
|
179
|
+
4224994405,
|
|
180
|
+
1303535960,
|
|
181
|
+
984961486,
|
|
182
|
+
2747007092,
|
|
183
|
+
3569037538,
|
|
184
|
+
1256170817,
|
|
185
|
+
1037604311,
|
|
186
|
+
2765210733,
|
|
187
|
+
3554079995,
|
|
188
|
+
1131014506,
|
|
189
|
+
879679996,
|
|
190
|
+
2909243462,
|
|
191
|
+
3663771856,
|
|
192
|
+
1141124467,
|
|
193
|
+
855842277,
|
|
194
|
+
2852801631,
|
|
195
|
+
3708648649,
|
|
196
|
+
1342533948,
|
|
197
|
+
654459306,
|
|
198
|
+
3188396048,
|
|
199
|
+
3373015174,
|
|
200
|
+
1466479909,
|
|
201
|
+
544179635,
|
|
202
|
+
3110523913,
|
|
203
|
+
3462522015,
|
|
204
|
+
1591671054,
|
|
205
|
+
702138776,
|
|
206
|
+
2966460450,
|
|
207
|
+
3352799412,
|
|
208
|
+
1504918807,
|
|
209
|
+
783551873,
|
|
210
|
+
3082640443,
|
|
211
|
+
3233442989,
|
|
212
|
+
3988292384,
|
|
213
|
+
2596254646,
|
|
214
|
+
62317068,
|
|
215
|
+
1957810842,
|
|
216
|
+
3939845945,
|
|
217
|
+
2647816111,
|
|
218
|
+
81470997,
|
|
219
|
+
1943803523,
|
|
220
|
+
3814918930,
|
|
221
|
+
2489596804,
|
|
222
|
+
225274430,
|
|
223
|
+
2053790376,
|
|
224
|
+
3826175755,
|
|
225
|
+
2466906013,
|
|
226
|
+
167816743,
|
|
227
|
+
2097651377,
|
|
228
|
+
4027552580,
|
|
229
|
+
2265490386,
|
|
230
|
+
503444072,
|
|
231
|
+
1762050814,
|
|
232
|
+
4150417245,
|
|
233
|
+
2154129355,
|
|
234
|
+
426522225,
|
|
235
|
+
1852507879,
|
|
236
|
+
4275313526,
|
|
237
|
+
2312317920,
|
|
238
|
+
282753626,
|
|
239
|
+
1742555852,
|
|
240
|
+
4189708143,
|
|
241
|
+
2394877945,
|
|
242
|
+
397917763,
|
|
243
|
+
1622183637,
|
|
244
|
+
3604390888,
|
|
245
|
+
2714866558,
|
|
246
|
+
953729732,
|
|
247
|
+
1340076626,
|
|
248
|
+
3518719985,
|
|
249
|
+
2797360999,
|
|
250
|
+
1068828381,
|
|
251
|
+
1219638859,
|
|
252
|
+
3624741850,
|
|
253
|
+
2936675148,
|
|
254
|
+
906185462,
|
|
255
|
+
1090812512,
|
|
256
|
+
3747672003,
|
|
257
|
+
2825379669,
|
|
258
|
+
829329135,
|
|
259
|
+
1181335161,
|
|
260
|
+
3412177804,
|
|
261
|
+
3160834842,
|
|
262
|
+
628085408,
|
|
263
|
+
1382605366,
|
|
264
|
+
3423369109,
|
|
265
|
+
3138078467,
|
|
266
|
+
570562233,
|
|
267
|
+
1426400815,
|
|
268
|
+
3317316542,
|
|
269
|
+
2998733608,
|
|
270
|
+
733239954,
|
|
271
|
+
1555261956,
|
|
272
|
+
3268935591,
|
|
273
|
+
3050360625,
|
|
274
|
+
752459403,
|
|
275
|
+
1541320221,
|
|
276
|
+
2607071920,
|
|
277
|
+
3965973030,
|
|
278
|
+
1969922972,
|
|
279
|
+
40735498,
|
|
280
|
+
2617837225,
|
|
281
|
+
3943577151,
|
|
282
|
+
1913087877,
|
|
283
|
+
83908371,
|
|
284
|
+
2512341634,
|
|
285
|
+
3803740692,
|
|
286
|
+
2075208622,
|
|
287
|
+
213261112,
|
|
288
|
+
2463272603,
|
|
289
|
+
3855990285,
|
|
290
|
+
2094854071,
|
|
291
|
+
198958881,
|
|
292
|
+
2262029012,
|
|
293
|
+
4057260610,
|
|
294
|
+
1759359992,
|
|
295
|
+
534414190,
|
|
296
|
+
2176718541,
|
|
297
|
+
4139329115,
|
|
298
|
+
1873836001,
|
|
299
|
+
414664567,
|
|
300
|
+
2282248934,
|
|
301
|
+
4279200368,
|
|
302
|
+
1711684554,
|
|
303
|
+
285281116,
|
|
304
|
+
2405801727,
|
|
305
|
+
4167216745,
|
|
306
|
+
1634467795,
|
|
307
|
+
376229701,
|
|
308
|
+
2685067896,
|
|
309
|
+
3608007406,
|
|
310
|
+
1308918612,
|
|
311
|
+
956543938,
|
|
312
|
+
2808555105,
|
|
313
|
+
3495958263,
|
|
314
|
+
1231636301,
|
|
315
|
+
1047427035,
|
|
316
|
+
2932959818,
|
|
317
|
+
3654703836,
|
|
318
|
+
1088359270,
|
|
319
|
+
936918e3,
|
|
320
|
+
2847714899,
|
|
321
|
+
3736837829,
|
|
322
|
+
1202900863,
|
|
323
|
+
817233897,
|
|
324
|
+
3183342108,
|
|
325
|
+
3401237130,
|
|
326
|
+
1404277552,
|
|
327
|
+
615818150,
|
|
328
|
+
3134207493,
|
|
329
|
+
3453421203,
|
|
330
|
+
1423857449,
|
|
331
|
+
601450431,
|
|
332
|
+
3009837614,
|
|
333
|
+
3294710456,
|
|
334
|
+
1567103746,
|
|
335
|
+
711928724,
|
|
336
|
+
3020668471,
|
|
337
|
+
3272380065,
|
|
338
|
+
1510334235,
|
|
339
|
+
755167117
|
|
340
|
+
);
|
|
341
|
+
function getCRC32Table() {
|
|
342
|
+
return CRC32TAB;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// src/lib/utils/base64-utils.ts
|
|
346
|
+
function asciiToBase64(string) {
|
|
347
|
+
string = `${string}`;
|
|
348
|
+
for (let i = 0; i < string.length; i++) {
|
|
349
|
+
if (string.charCodeAt(i) > 255) {
|
|
350
|
+
return null;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
let out = "";
|
|
354
|
+
for (let i = 0; i < string.length; i += 3) {
|
|
355
|
+
const groupsOfSix = [void 0, void 0, void 0, void 0];
|
|
356
|
+
groupsOfSix[0] = string.charCodeAt(i) >> 2;
|
|
357
|
+
groupsOfSix[1] = (string.charCodeAt(i) & 3) << 4;
|
|
358
|
+
if (string.length > i + 1) {
|
|
359
|
+
groupsOfSix[1] |= string.charCodeAt(i + 1) >> 4;
|
|
360
|
+
groupsOfSix[2] = (string.charCodeAt(i + 1) & 15) << 2;
|
|
361
|
+
}
|
|
362
|
+
if (string.length > i + 2) {
|
|
363
|
+
groupsOfSix[2] |= string.charCodeAt(i + 2) >> 6;
|
|
364
|
+
groupsOfSix[3] = string.charCodeAt(i + 2) & 63;
|
|
365
|
+
}
|
|
366
|
+
for (let j = 0; j < groupsOfSix.length; j++) {
|
|
367
|
+
if (typeof groupsOfSix[j] === "undefined") {
|
|
368
|
+
out += "=";
|
|
369
|
+
} else {
|
|
370
|
+
out += btoaLookup(groupsOfSix[j]);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
return out;
|
|
375
|
+
}
|
|
376
|
+
function base64ToAscii(data) {
|
|
377
|
+
data = `${data}`;
|
|
378
|
+
data = data.replace(/[ \t\n\f\r]/g, "");
|
|
379
|
+
if (data.length % 4 === 0) {
|
|
380
|
+
data = data.replace(/[=]=?$/, "");
|
|
381
|
+
}
|
|
382
|
+
if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {
|
|
383
|
+
return "";
|
|
384
|
+
}
|
|
385
|
+
let output = "";
|
|
386
|
+
let buffer = 0;
|
|
387
|
+
let accumulatedBits = 0;
|
|
388
|
+
for (let i = 0; i < data.length; i++) {
|
|
389
|
+
buffer <<= 6;
|
|
390
|
+
buffer |= atobLookup(data[i]);
|
|
391
|
+
accumulatedBits += 6;
|
|
392
|
+
if (accumulatedBits === 24) {
|
|
393
|
+
output += String.fromCharCode((buffer & 16711680) >> 16);
|
|
394
|
+
output += String.fromCharCode((buffer & 65280) >> 8);
|
|
395
|
+
output += String.fromCharCode(buffer & 255);
|
|
396
|
+
buffer = accumulatedBits = 0;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
if (accumulatedBits === 12) {
|
|
400
|
+
buffer >>= 4;
|
|
401
|
+
output += String.fromCharCode(buffer);
|
|
402
|
+
} else if (accumulatedBits === 18) {
|
|
403
|
+
buffer >>= 2;
|
|
404
|
+
output += String.fromCharCode((buffer & 65280) >> 8);
|
|
405
|
+
output += String.fromCharCode(buffer & 255);
|
|
406
|
+
}
|
|
407
|
+
return output;
|
|
408
|
+
}
|
|
409
|
+
var keystr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
410
|
+
function atobLookup(chr) {
|
|
411
|
+
const index = keystr.indexOf(chr);
|
|
412
|
+
return index < 0 ? void 0 : index;
|
|
413
|
+
}
|
|
414
|
+
function btoaLookup(idx) {
|
|
415
|
+
if (idx < 26) {
|
|
416
|
+
return String.fromCharCode(idx + "A".charCodeAt(0));
|
|
417
|
+
}
|
|
418
|
+
if (idx < 52) {
|
|
419
|
+
return String.fromCharCode(idx - 26 + "a".charCodeAt(0));
|
|
420
|
+
}
|
|
421
|
+
if (idx < 62) {
|
|
422
|
+
return String.fromCharCode(idx - 52 + "0".charCodeAt(0));
|
|
423
|
+
}
|
|
424
|
+
if (idx === 62) {
|
|
425
|
+
return "+";
|
|
426
|
+
}
|
|
427
|
+
if (idx === 63) {
|
|
428
|
+
return "/";
|
|
429
|
+
}
|
|
430
|
+
return void 0;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
// src/lib/utils/digest-utils.ts
|
|
434
|
+
function encodeNumber(number, encoding) {
|
|
435
|
+
switch (encoding) {
|
|
436
|
+
case "hex":
|
|
437
|
+
return convertNumberToHex(number);
|
|
438
|
+
case "base64":
|
|
439
|
+
return convertHexToBase64(convertNumberToHex(number));
|
|
440
|
+
default:
|
|
441
|
+
throw new Error(encoding);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
function encodeHex(hex, encoding) {
|
|
445
|
+
switch (encoding) {
|
|
446
|
+
case "hex":
|
|
447
|
+
return hex;
|
|
448
|
+
case "base64":
|
|
449
|
+
return convertHexToBase64(hex);
|
|
450
|
+
default:
|
|
451
|
+
throw new Error(encoding);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
function encodeBase64(base64, encoding) {
|
|
455
|
+
switch (encoding) {
|
|
456
|
+
case "hex":
|
|
457
|
+
return convertBase64ToHex(base64);
|
|
458
|
+
case "base64":
|
|
459
|
+
return base64;
|
|
460
|
+
default:
|
|
461
|
+
throw new Error(encoding);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
function convertHexToBase64(hexstring) {
|
|
465
|
+
if (hexstring.length % 2 !== 0) {
|
|
466
|
+
hexstring = `0${hexstring}`;
|
|
467
|
+
}
|
|
468
|
+
const matches = hexstring.match(/\w{2}/g) || [];
|
|
469
|
+
const string = matches.map((a) => String.fromCharCode(parseInt(a, 16))).join("");
|
|
470
|
+
return asciiToBase64(string) || "";
|
|
471
|
+
}
|
|
472
|
+
function convertBase64ToHex(base64String) {
|
|
473
|
+
return [...base64ToAscii(base64String)].map((c) => c.charCodeAt(0).toString(16).padStart(2, "0")).join("");
|
|
474
|
+
}
|
|
475
|
+
function convertNumberToHex(cipher) {
|
|
476
|
+
const hexString = cipher.toString(16);
|
|
477
|
+
return hexString === "0" ? `0${hexString}` : hexString;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
// src/lib/crc32-hash.ts
|
|
481
|
+
var CRC32Hash = class extends Hash {
|
|
482
|
+
constructor(options = {}) {
|
|
483
|
+
super();
|
|
484
|
+
this.name = "crc32";
|
|
485
|
+
this.options = { crypto: {}, ...options };
|
|
486
|
+
this._hash = new CRC32();
|
|
487
|
+
this.hashBatches = this.hashBatches.bind(this);
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Atomic hash calculation
|
|
491
|
+
* @returns base64 encoded hash
|
|
492
|
+
*/
|
|
493
|
+
async hash(input, encoding) {
|
|
494
|
+
return this.hashSync(input, encoding);
|
|
495
|
+
}
|
|
496
|
+
hashSync(input, encoding) {
|
|
497
|
+
this._hash.update(input);
|
|
498
|
+
const digest = this._hash.finalize();
|
|
499
|
+
return encodeNumber(digest, encoding);
|
|
500
|
+
}
|
|
501
|
+
async *hashBatches(asyncIterator, encoding = "base64") {
|
|
502
|
+
var _a, _b;
|
|
503
|
+
for await (const chunk of asyncIterator) {
|
|
504
|
+
this._hash.update(chunk);
|
|
505
|
+
yield chunk;
|
|
506
|
+
}
|
|
507
|
+
const digest = this._hash.finalize();
|
|
508
|
+
const hash = encodeNumber(digest, encoding);
|
|
509
|
+
(_b = (_a = this.options.crypto) == null ? void 0 : _a.onEnd) == null ? void 0 : _b.call(_a, { hash });
|
|
510
|
+
}
|
|
511
|
+
};
|
|
512
|
+
|
|
513
|
+
// src/lib/algorithms/crc32c.ts
|
|
514
|
+
var CRC32C = class {
|
|
515
|
+
constructor(options = {}) {
|
|
516
|
+
this.options = options;
|
|
517
|
+
this.crc = ~0;
|
|
518
|
+
}
|
|
519
|
+
update(arrayBuffer) {
|
|
520
|
+
const byteArray = new Uint8Array(arrayBuffer);
|
|
521
|
+
const CRC32_TABLE = getCRC32Table2();
|
|
522
|
+
for (let i = 0; i < byteArray.length; i++) {
|
|
523
|
+
this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 255] ^ this.crc >>> 8;
|
|
524
|
+
}
|
|
525
|
+
return this;
|
|
526
|
+
}
|
|
527
|
+
finalize() {
|
|
528
|
+
this.crc = (this.crc ^ -1) >>> 0;
|
|
529
|
+
return this.crc;
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
var CRC32C_TABLE = Int32Array.of(
|
|
533
|
+
0,
|
|
534
|
+
4067132163,
|
|
535
|
+
3778769143,
|
|
536
|
+
324072436,
|
|
537
|
+
3348797215,
|
|
538
|
+
904991772,
|
|
539
|
+
648144872,
|
|
540
|
+
3570033899,
|
|
541
|
+
2329499855,
|
|
542
|
+
2024987596,
|
|
543
|
+
1809983544,
|
|
544
|
+
2575936315,
|
|
545
|
+
1296289744,
|
|
546
|
+
3207089363,
|
|
547
|
+
2893594407,
|
|
548
|
+
1578318884,
|
|
549
|
+
274646895,
|
|
550
|
+
3795141740,
|
|
551
|
+
4049975192,
|
|
552
|
+
51262619,
|
|
553
|
+
3619967088,
|
|
554
|
+
632279923,
|
|
555
|
+
922689671,
|
|
556
|
+
3298075524,
|
|
557
|
+
2592579488,
|
|
558
|
+
1760304291,
|
|
559
|
+
2075979607,
|
|
560
|
+
2312596564,
|
|
561
|
+
1562183871,
|
|
562
|
+
2943781820,
|
|
563
|
+
3156637768,
|
|
564
|
+
1313733451,
|
|
565
|
+
549293790,
|
|
566
|
+
3537243613,
|
|
567
|
+
3246849577,
|
|
568
|
+
871202090,
|
|
569
|
+
3878099393,
|
|
570
|
+
357341890,
|
|
571
|
+
102525238,
|
|
572
|
+
4101499445,
|
|
573
|
+
2858735121,
|
|
574
|
+
1477399826,
|
|
575
|
+
1264559846,
|
|
576
|
+
3107202533,
|
|
577
|
+
1845379342,
|
|
578
|
+
2677391885,
|
|
579
|
+
2361733625,
|
|
580
|
+
2125378298,
|
|
581
|
+
820201905,
|
|
582
|
+
3263744690,
|
|
583
|
+
3520608582,
|
|
584
|
+
598981189,
|
|
585
|
+
4151959214,
|
|
586
|
+
85089709,
|
|
587
|
+
373468761,
|
|
588
|
+
3827903834,
|
|
589
|
+
3124367742,
|
|
590
|
+
1213305469,
|
|
591
|
+
1526817161,
|
|
592
|
+
2842354314,
|
|
593
|
+
2107672161,
|
|
594
|
+
2412447074,
|
|
595
|
+
2627466902,
|
|
596
|
+
1861252501,
|
|
597
|
+
1098587580,
|
|
598
|
+
3004210879,
|
|
599
|
+
2688576843,
|
|
600
|
+
1378610760,
|
|
601
|
+
2262928035,
|
|
602
|
+
1955203488,
|
|
603
|
+
1742404180,
|
|
604
|
+
2511436119,
|
|
605
|
+
3416409459,
|
|
606
|
+
969524848,
|
|
607
|
+
714683780,
|
|
608
|
+
3639785095,
|
|
609
|
+
205050476,
|
|
610
|
+
4266873199,
|
|
611
|
+
3976438427,
|
|
612
|
+
526918040,
|
|
613
|
+
1361435347,
|
|
614
|
+
2739821008,
|
|
615
|
+
2954799652,
|
|
616
|
+
1114974503,
|
|
617
|
+
2529119692,
|
|
618
|
+
1691668175,
|
|
619
|
+
2005155131,
|
|
620
|
+
2247081528,
|
|
621
|
+
3690758684,
|
|
622
|
+
697762079,
|
|
623
|
+
986182379,
|
|
624
|
+
3366744552,
|
|
625
|
+
476452099,
|
|
626
|
+
3993867776,
|
|
627
|
+
4250756596,
|
|
628
|
+
255256311,
|
|
629
|
+
1640403810,
|
|
630
|
+
2477592673,
|
|
631
|
+
2164122517,
|
|
632
|
+
1922457750,
|
|
633
|
+
2791048317,
|
|
634
|
+
1412925310,
|
|
635
|
+
1197962378,
|
|
636
|
+
3037525897,
|
|
637
|
+
3944729517,
|
|
638
|
+
427051182,
|
|
639
|
+
170179418,
|
|
640
|
+
4165941337,
|
|
641
|
+
746937522,
|
|
642
|
+
3740196785,
|
|
643
|
+
3451792453,
|
|
644
|
+
1070968646,
|
|
645
|
+
1905808397,
|
|
646
|
+
2213795598,
|
|
647
|
+
2426610938,
|
|
648
|
+
1657317369,
|
|
649
|
+
3053634322,
|
|
650
|
+
1147748369,
|
|
651
|
+
1463399397,
|
|
652
|
+
2773627110,
|
|
653
|
+
4215344322,
|
|
654
|
+
153784257,
|
|
655
|
+
444234805,
|
|
656
|
+
3893493558,
|
|
657
|
+
1021025245,
|
|
658
|
+
3467647198,
|
|
659
|
+
3722505002,
|
|
660
|
+
797665321,
|
|
661
|
+
2197175160,
|
|
662
|
+
1889384571,
|
|
663
|
+
1674398607,
|
|
664
|
+
2443626636,
|
|
665
|
+
1164749927,
|
|
666
|
+
3070701412,
|
|
667
|
+
2757221520,
|
|
668
|
+
1446797203,
|
|
669
|
+
137323447,
|
|
670
|
+
4198817972,
|
|
671
|
+
3910406976,
|
|
672
|
+
461344835,
|
|
673
|
+
3484808360,
|
|
674
|
+
1037989803,
|
|
675
|
+
781091935,
|
|
676
|
+
3705997148,
|
|
677
|
+
2460548119,
|
|
678
|
+
1623424788,
|
|
679
|
+
1939049696,
|
|
680
|
+
2180517859,
|
|
681
|
+
1429367560,
|
|
682
|
+
2807687179,
|
|
683
|
+
3020495871,
|
|
684
|
+
1180866812,
|
|
685
|
+
410100952,
|
|
686
|
+
3927582683,
|
|
687
|
+
4182430767,
|
|
688
|
+
186734380,
|
|
689
|
+
3756733383,
|
|
690
|
+
763408580,
|
|
691
|
+
1053836080,
|
|
692
|
+
3434856499,
|
|
693
|
+
2722870694,
|
|
694
|
+
1344288421,
|
|
695
|
+
1131464017,
|
|
696
|
+
2971354706,
|
|
697
|
+
1708204729,
|
|
698
|
+
2545590714,
|
|
699
|
+
2229949006,
|
|
700
|
+
1988219213,
|
|
701
|
+
680717673,
|
|
702
|
+
3673779818,
|
|
703
|
+
3383336350,
|
|
704
|
+
1002577565,
|
|
705
|
+
4010310262,
|
|
706
|
+
493091189,
|
|
707
|
+
238226049,
|
|
708
|
+
4233660802,
|
|
709
|
+
2987750089,
|
|
710
|
+
1082061258,
|
|
711
|
+
1395524158,
|
|
712
|
+
2705686845,
|
|
713
|
+
1972364758,
|
|
714
|
+
2279892693,
|
|
715
|
+
2494862625,
|
|
716
|
+
1725896226,
|
|
717
|
+
952904198,
|
|
718
|
+
3399985413,
|
|
719
|
+
3656866545,
|
|
720
|
+
731699698,
|
|
721
|
+
4283874585,
|
|
722
|
+
222117402,
|
|
723
|
+
510512622,
|
|
724
|
+
3959836397,
|
|
725
|
+
3280807620,
|
|
726
|
+
837199303,
|
|
727
|
+
582374963,
|
|
728
|
+
3504198960,
|
|
729
|
+
68661723,
|
|
730
|
+
4135334616,
|
|
731
|
+
3844915500,
|
|
732
|
+
390545967,
|
|
733
|
+
1230274059,
|
|
734
|
+
3141532936,
|
|
735
|
+
2825850620,
|
|
736
|
+
1510247935,
|
|
737
|
+
2395924756,
|
|
738
|
+
2091215383,
|
|
739
|
+
1878366691,
|
|
740
|
+
2644384480,
|
|
741
|
+
3553878443,
|
|
742
|
+
565732008,
|
|
743
|
+
854102364,
|
|
744
|
+
3229815391,
|
|
745
|
+
340358836,
|
|
746
|
+
3861050807,
|
|
747
|
+
4117890627,
|
|
748
|
+
119113024,
|
|
749
|
+
1493875044,
|
|
750
|
+
2875275879,
|
|
751
|
+
3090270611,
|
|
752
|
+
1247431312,
|
|
753
|
+
2660249211,
|
|
754
|
+
1828433272,
|
|
755
|
+
2141937292,
|
|
756
|
+
2378227087,
|
|
757
|
+
3811616794,
|
|
758
|
+
291187481,
|
|
759
|
+
34330861,
|
|
760
|
+
4032846830,
|
|
761
|
+
615137029,
|
|
762
|
+
3603020806,
|
|
763
|
+
3314634738,
|
|
764
|
+
939183345,
|
|
765
|
+
1776939221,
|
|
766
|
+
2609017814,
|
|
767
|
+
2295496738,
|
|
768
|
+
2058945313,
|
|
769
|
+
2926798794,
|
|
770
|
+
1545135305,
|
|
771
|
+
1330124605,
|
|
772
|
+
3173225534,
|
|
773
|
+
4084100981,
|
|
774
|
+
17165430,
|
|
775
|
+
307568514,
|
|
776
|
+
3762199681,
|
|
777
|
+
888469610,
|
|
778
|
+
3332340585,
|
|
779
|
+
3587147933,
|
|
780
|
+
665062302,
|
|
781
|
+
2042050490,
|
|
782
|
+
2346497209,
|
|
783
|
+
2559330125,
|
|
784
|
+
1793573966,
|
|
785
|
+
3190661285,
|
|
786
|
+
1279665062,
|
|
787
|
+
1595330642,
|
|
788
|
+
2910671697
|
|
789
|
+
);
|
|
790
|
+
function getCRC32Table2() {
|
|
791
|
+
return CRC32C_TABLE;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
// src/lib/crc32c-hash.ts
|
|
795
|
+
var CRC32CHash = class extends Hash {
|
|
796
|
+
/**
|
|
797
|
+
* Atomic hash calculation
|
|
798
|
+
* @returns base64 encoded hash
|
|
799
|
+
*/
|
|
800
|
+
constructor(options = {}) {
|
|
801
|
+
super();
|
|
802
|
+
this.name = "crc32c";
|
|
803
|
+
this.options = { crypto: {}, ...options };
|
|
804
|
+
this._hash = new CRC32C(options);
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* Atomic hash calculation
|
|
808
|
+
* @returns base64 encoded hash
|
|
809
|
+
*/
|
|
810
|
+
async hash(input, encoding) {
|
|
811
|
+
return this.hashSync(input, encoding);
|
|
812
|
+
}
|
|
813
|
+
hashSync(input, encoding) {
|
|
814
|
+
this._hash.update(input);
|
|
815
|
+
const digest = this._hash.finalize();
|
|
816
|
+
return encodeNumber(digest, encoding);
|
|
817
|
+
}
|
|
818
|
+
// runInBatches inherited
|
|
819
|
+
async *hashBatches(asyncIterator, encoding = "base64") {
|
|
820
|
+
var _a, _b;
|
|
821
|
+
for await (const chunk of asyncIterator) {
|
|
822
|
+
this._hash.update(chunk);
|
|
823
|
+
yield chunk;
|
|
824
|
+
}
|
|
825
|
+
const digest = this._hash.finalize();
|
|
826
|
+
const hash = encodeNumber(digest, encoding);
|
|
827
|
+
(_b = (_a = this.options.crypto) == null ? void 0 : _a.onEnd) == null ? void 0 : _b.call(_a, { hash });
|
|
828
|
+
}
|
|
829
|
+
};
|
|
830
|
+
|
|
831
|
+
// src/lib/algorithms/md5-wasm.ts
|
|
832
|
+
var atb = typeof atob === "function" ? atob : typeof Buffer === "function" ? nodeATOB : identity;
|
|
833
|
+
var wasmB64 = atb(
|
|
834
|
+
"AGFzbQEAAAABDANgAX8AYAAAYAABfwIeAgdpbXBvcnRzA2xvZwAAB2ltcG9ydHMDbWVtAgABAzIxAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAgICAgIAAAAAAAaYARt/AUGBxpS6Bgt/AUGJ17b+fgt/AUH+uevFeQt/AUH2qMmBAQt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AUEAC38BQQALB7oCJQhvbmVGdWxsQQAYCG9uZUZ1bGxCABkIb25lRnVsbEMAGghvbmVGdWxsRAAbBWxvb3BzAAEEbG9vcAACBXByaW1lAAMFbG9vcEEABAZsb29wQTEABQZsb29wQTIABgZsb29wQTMABwZsb29wQTQACAVsb29wQgAJBmxvb3BCMQAKBmxvb3BCMgALBmxvb3BCMwAMBmxvb3BCNAANBWxvb3BDAA4GbG9vcEMxAA8GbG9vcEMyABAGbG9vcEMzABEGbG9vcEM0ABIFbG9vcEQAEwZsb29wRDEAFAZsb29wRDIAFQZsb29wRDMAFgZsb29wRDQAFwRnZXRBACgEZ2V0QgApBGdldEMAKgRnZXREACsEZ2V0WAAsBHNldEEALQRzZXRCAC4Ec2V0QwAvBHNldEQAMARzZXRYADEKzA0xWwEBf0EAJAggAEEGdCEBAkADQCMIIAFGDQEjACQEIwEkBSMCJAYjAyQHEAIjBCMAaiQAIwUjAWokASMGIwJqJAIjByMDaiQDIwhBwABqJAgMAAsLIwgjGmokGgsTACMIIxpqJAkQAxAEEAkQDhATC6IBAEEAIwlqKAIAJApBBCMJaigCACQLQQgjCWooAgAkDEEMIwlqKAIAJA1BECMJaigCACQOQRQjCWooAgAkD0EYIwlqKAIAJBBBHCMJaigCACQRQSAjCWooAgAkEkEkIwlqKAIAJBNBKCMJaigCACQUQSwjCWooAgAkFUEwIwlqKAIAJBZBNCMJaigCACQXQTgjCWooAgAkGEE8IwlqKAIAJBkLCgAQBRAGEAcQCAsuAEH4yKq7fSMKahAYQdbunsZ+IwtqEBtB2+GBoQIjDGoQGkHunfeNfCMNahAZCy0AQa+f8Kt/Iw5qEBhBqoyfvAQjD2oQG0GTjMHBeiMQahAaQYGqmmojEWoQGQssAEHYsYLMBiMSahAYQa/vk9p4IxNqEBtBsbd9IxRqEBpBvq/zyngjFWoQGQstAEGiosDcBiMWahAYQZPj4WwjF2oQG0GOh+WzeiMYahAaQaGQ0M0EIxlqEBkLCgAQChALEAwQDQsuAEHiyviwfyMLahAcQcDmgoJ8IxBqEB9B0bT5sgIjFWoQHkGqj9vNfiMKahAdCy0AQd2gvLF9Iw9qEBxB06iQEiMUahAfQYHNh8V9IxlqEB5ByPfPvn4jDmoQHQsuAEHmm4ePAiMTahAcQdaP3Jl8IxhqEB9Bh5vUpn8jDWoQHkHtqeiqBCMSahAdCy0AQYXSj896IxdqEBxB+Me+ZyMMahAfQdmFvLsGIxFqEB5Bipmp6XgjFmoQHQsKABAPEBAQERASCysAQcLyaCMPahAgQYHtx7t4IxJqECNBosL17AYjFWoQIkGM8JRvIxhqECELLgBBxNT7pXojC2oQIEGpn/veBCMOahAjQeCW7bV/IxFqECJB8Pj+9XsjFGoQIQstAEHG/e3EAiMXahAgQfrPhNV+IwpqECNBheG8p30jDWoQIkGFuqAkIxBqECELLgBBuaDTzn0jE2oQIEHls+62fiMWahAjQfj5if0BIxlqECJB5ayxpXwjDGoQIQsKABAUEBUQFhAXCy0AQcTEpKF/IwpqECRBl/+rmQQjEWoQJ0Gnx9DceiMYahAmQbnAzmQjD2oQJQstAEHDs+2qBiMWahAkQZKZs/h4Iw1qECdB/ei/fyMUahAmQdG7kax4IwtqECULLQBBz/yh/QYjEmoQJEHgzbNxIxlqECdBlIaFmHojEGoQJkGho6DwBCMXahAlCy4AQYL9zbp/Iw5qECRBteTr6XsjFWoQJ0G7pd/WAiMMahAmQZGnm9x+IxNqECULKAEBf0F/IwFzIwNxIwEjAnFyIwBqIABqIgFBB3QgAUEZdnIjAWokAAsoAQF/QX8jAnMjAHEjAiMDcXIjAWogAGoiAUEWdCABQQp2ciMCaiQBCygBAX9BfyMDcyMBcSMDIwBxciMCaiAAaiIBQRF0IAFBD3ZyIwNqJAILKAEBf0F/IwBzIwJxIwAjAXFyIwNqIABqIgFBDHQgAUEUdnIjAGokAwsoAQF/IwJBfyMDc3EjASMDcXIjAGogAGoiAUEFdCABQRt2ciMBaiQACygBAX8jA0F/IwBzcSMCIwBxciMBaiAAaiIBQRR0IAFBDHZyIwJqJAELKAEBfyMAQX8jAXNxIwMjAXFyIwJqIABqIgFBDnQgAUESdnIjA2okAgsoAQF/IwFBfyMCc3EjACMCcXIjA2ogAGoiAUEJdCABQRd2ciMAaiQDCyIBAX8jASMCcyMDcyMAaiAAaiIBQQR0IAFBHHZyIwFqJAALIgEBfyMCIwNzIwBzIwFqIABqIgFBF3QgAUEJdnIjAmokAQsiAQF/IwMjAHMjAXMjAmogAGoiAUEQdCABQRB2ciMDaiQCCyIBAX8jACMBcyMCcyMDaiAAaiIBQQt0IAFBFXZyIwBqJAMLJQEBf0F/IwNzIwFyIwJzIwBqIABqIgFBBnQgAUEadnIjAWokAAslAQF/QX8jAHMjAnIjA3MjAWogAGoiAUEVdCABQQt2ciMCaiQBCyUBAX9BfyMBcyMDciMAcyMCaiAAaiIBQQ90IAFBEXZyIwNqJAILJQEBf0F/IwJzIwByIwFzIwNqIABqIgFBCnQgAUEWdnIjAGokAwsEACMACwQAIwELBAAjAgsEACMDCwQAIxoLBgAgACQACwYAIAAkAQsGACAAJAILBgAgACQDCwYAIAAkGgsA6gQEbmFtZQGSAzIAA2xvZwEFbG9vcHMCBGxvb3ADBXByaW1lBAVsb29wQQUGbG9vcEExBgZsb29wQTIHBmxvb3BBMwgGbG9vcEE0CQVsb29wQgoGbG9vcEIxCwZsb29wQjIMBmxvb3BCMw0GbG9vcEI0DgVsb29wQw8GbG9vcEMxEAZsb29wQzIRBmxvb3BDMxIGbG9vcEM0EwVsb29wRBQGbG9vcEQxFQZsb29wRDIWBmxvb3BEMxcGbG9vcEQ0GAhvbmVGdWxsQRkIb25lRnVsbEIaCG9uZUZ1bGxDGwhvbmVGdWxsRBwIdHdvRnVsbEEdCHR3b0Z1bGxCHgh0d29GdWxsQx8IdHdvRnVsbEQgCHRyZUZ1bGxBIQh0cmVGdWxsQiIIdHJlRnVsbEMjCHRyZUZ1bGxEJAhxdWFGdWxsQSUIcXVhRnVsbEImCHF1YUZ1bGxDJwhxdWFGdWxsRCgEZ2V0QSkEZ2V0QioEZ2V0QysEZ2V0RCwEZ2V0WC0Ec2V0QS4Ec2V0Qi8Ec2V0QzAEc2V0RDEEc2V0WALNATIAAQAAAQIAAAEIbnVtbG9vcHMCAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgCAAABAW4ZAgAAAQFuGgIAAAEBbhsCAAABAW4cAgAAAQFuHQIAAAEBbh4CAAABAW4fAgAAAQFuIAIAAAEBbiECAAABAW4iAgAAAQFuIwIAAAEBbiQCAAABAW4lAgAAAQFuJgIAAAEBbicCAAABAW4oACkAKgArACwALQEAAC4BAAAvAQAAMAEAADEBAAA="
|
|
835
|
+
);
|
|
836
|
+
var wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false;
|
|
837
|
+
var crypt = makeCrypt();
|
|
838
|
+
var biteSize = 240 * 16 * 16;
|
|
839
|
+
var bounder = Math.floor(biteSize * 16 * 1.066666667);
|
|
840
|
+
var upperLimit = 268435456 - 65536;
|
|
841
|
+
var parmTypeErrStr = "Parameter must be Buffer, ArrayBuffer or Uint8Array";
|
|
842
|
+
var tooBigErrStr = "Parameter exceeds max size of 255.9 Mbytes";
|
|
843
|
+
if (!wasm) {
|
|
844
|
+
console.log(
|
|
845
|
+
"WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript"
|
|
846
|
+
);
|
|
847
|
+
}
|
|
848
|
+
function md5WASM(data) {
|
|
849
|
+
var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;
|
|
850
|
+
const md5JS = makeMD5JS(), md5WA = makeMD5WA(), returnObj = {}, startTime = new Date().getTime();
|
|
851
|
+
returnObj["then"] = function(fun) {
|
|
852
|
+
thenFun = fun;
|
|
853
|
+
getThen();
|
|
854
|
+
return returnObj;
|
|
855
|
+
};
|
|
856
|
+
returnObj["catch"] = function(fun) {
|
|
857
|
+
catchFun = fun;
|
|
858
|
+
return returnObj;
|
|
859
|
+
};
|
|
860
|
+
if (true) {
|
|
861
|
+
if (data && typeof data === "object") {
|
|
862
|
+
if (typeof Buffer === "function" && data.constructor === Buffer) {
|
|
863
|
+
buff = data;
|
|
864
|
+
} else {
|
|
865
|
+
if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {
|
|
866
|
+
buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;
|
|
867
|
+
} else {
|
|
868
|
+
getCatch(new TypeError(parmTypeErrStr));
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
} else {
|
|
872
|
+
getCatch(new TypeError(parmTypeErrStr));
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
if (buff) {
|
|
876
|
+
len = buff.length;
|
|
877
|
+
if (wasm && len > bounder) {
|
|
878
|
+
if (len > upperLimit) {
|
|
879
|
+
getCatch(new Error(tooBigErrStr));
|
|
880
|
+
} else {
|
|
881
|
+
mem = new WebAssembly.Memory({
|
|
882
|
+
initial: len > 32e6 ? len > 64e6 ? len > 128e6 ? 4096 : 2048 : 1024 : 512
|
|
883
|
+
});
|
|
884
|
+
memView = new Uint32Array(mem.buffer);
|
|
885
|
+
imports = { mem, log: console.log };
|
|
886
|
+
importObj = { imports };
|
|
887
|
+
WebAssembly.instantiate(wasm, importObj).then(giterdone);
|
|
888
|
+
}
|
|
889
|
+
} else {
|
|
890
|
+
getThen(md5JS(buff));
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
return returnObj;
|
|
894
|
+
function giterdone(obj) {
|
|
895
|
+
getThen(md5WA(buff, obj.instance.exports, memView));
|
|
896
|
+
}
|
|
897
|
+
function getThen(r) {
|
|
898
|
+
var res = Boolean(r) ? r : result;
|
|
899
|
+
if (Boolean(r)) {
|
|
900
|
+
endTime = new Date().getTime();
|
|
901
|
+
}
|
|
902
|
+
if (typeof thenFun === "function") {
|
|
903
|
+
if (Boolean(res)) {
|
|
904
|
+
thenFun(res, endTime - startTime);
|
|
905
|
+
thenFun = catchFun = null;
|
|
906
|
+
}
|
|
907
|
+
} else {
|
|
908
|
+
if (Boolean(r)) {
|
|
909
|
+
result = r;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
function getCatch(err) {
|
|
914
|
+
if (typeof catchFun === "function") {
|
|
915
|
+
catchFun(err);
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
function makeMD5WA() {
|
|
920
|
+
var loop, loops;
|
|
921
|
+
var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;
|
|
922
|
+
var md5WA = function(message) {
|
|
923
|
+
var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m, k;
|
|
924
|
+
var qwerty = new Date().getTime();
|
|
925
|
+
var md5Used = 0;
|
|
926
|
+
var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, i = 0, l = message.length * 8, len;
|
|
927
|
+
len = bytesToWordsNewer(message, memView);
|
|
928
|
+
memView[l >>> 5] |= 128 << l % 32;
|
|
929
|
+
memView[(l + 64 >>> 9 << 4) + 14] = l;
|
|
930
|
+
len = (l + 64 >>> 9 << 4) + 15;
|
|
931
|
+
m = memView;
|
|
932
|
+
while (i < len) {
|
|
933
|
+
if (len > i + bounder) {
|
|
934
|
+
setA(a);
|
|
935
|
+
setB(b);
|
|
936
|
+
setC(c);
|
|
937
|
+
setD(d);
|
|
938
|
+
loops(biteSize);
|
|
939
|
+
i = i + biteSize * 16;
|
|
940
|
+
a = getA();
|
|
941
|
+
b = getB();
|
|
942
|
+
c = getC();
|
|
943
|
+
d = getD();
|
|
944
|
+
md5Used++;
|
|
945
|
+
} else {
|
|
946
|
+
aa = a;
|
|
947
|
+
bb = b;
|
|
948
|
+
cc = c;
|
|
949
|
+
dd = d;
|
|
950
|
+
m00 = m[i + 0] >>> 0;
|
|
951
|
+
m01 = m[i + 1] >>> 0;
|
|
952
|
+
m02 = m[i + 2] >>> 0;
|
|
953
|
+
m03 = m[i + 3] >>> 0;
|
|
954
|
+
m04 = m[i + 4] >>> 0;
|
|
955
|
+
m05 = m[i + 5] >>> 0;
|
|
956
|
+
m06 = m[i + 6] >>> 0;
|
|
957
|
+
m07 = m[i + 7] >>> 0;
|
|
958
|
+
m08 = m[i + 8] >>> 0;
|
|
959
|
+
m09 = m[i + 9] >>> 0;
|
|
960
|
+
m10 = m[i + 10] >>> 0;
|
|
961
|
+
m11 = m[i + 11] >>> 0;
|
|
962
|
+
m12 = m[i + 12] >>> 0;
|
|
963
|
+
m13 = m[i + 13] >>> 0;
|
|
964
|
+
m14 = m[i + 14] >>> 0;
|
|
965
|
+
m15 = m[i + 15] >>> 0;
|
|
966
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m00 - 680876936) + b;
|
|
967
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m01 - 389564586) + a;
|
|
968
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m02 + 606105819) + d;
|
|
969
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m03 - 1044525330) + c;
|
|
970
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m04 - 176418897) + b;
|
|
971
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m05 + 1200080426) + a;
|
|
972
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m06 - 1473231341) + d;
|
|
973
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m07 - 45705983) + c;
|
|
974
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m08 + 1770035416) + b;
|
|
975
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m09 - 1958414417) + a;
|
|
976
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m10 - 42063) + d;
|
|
977
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m11 - 1990404162) + c;
|
|
978
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m12 + 1804603682) + b;
|
|
979
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m13 - 40341101) + a;
|
|
980
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m14 - 1502002290) + d;
|
|
981
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m15 + 1236535329) + c;
|
|
982
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m01 - 165796510) + b;
|
|
983
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m06 - 1069501632) + a;
|
|
984
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m11 + 643717713) + d;
|
|
985
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m00 - 373897302) + c;
|
|
986
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m05 - 701558691) + b;
|
|
987
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m10 + 38016083) + a;
|
|
988
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m15 - 660478335) + d;
|
|
989
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m04 - 405537848) + c;
|
|
990
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m09 + 568446438) + b;
|
|
991
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m14 - 1019803690) + a;
|
|
992
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m03 - 187363961) + d;
|
|
993
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m08 + 1163531501) + c;
|
|
994
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m13 - 1444681467) + b;
|
|
995
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m02 - 51403784) + a;
|
|
996
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m07 + 1735328473) + d;
|
|
997
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m12 - 1926607734) + c;
|
|
998
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;
|
|
999
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;
|
|
1000
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;
|
|
1001
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;
|
|
1002
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;
|
|
1003
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;
|
|
1004
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;
|
|
1005
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;
|
|
1006
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;
|
|
1007
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;
|
|
1008
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;
|
|
1009
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;
|
|
1010
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;
|
|
1011
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;
|
|
1012
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;
|
|
1013
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;
|
|
1014
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;
|
|
1015
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;
|
|
1016
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;
|
|
1017
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;
|
|
1018
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;
|
|
1019
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;
|
|
1020
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;
|
|
1021
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;
|
|
1022
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;
|
|
1023
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;
|
|
1024
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;
|
|
1025
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;
|
|
1026
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;
|
|
1027
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;
|
|
1028
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;
|
|
1029
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;
|
|
1030
|
+
i = i + 16;
|
|
1031
|
+
a = a + aa >>> 0;
|
|
1032
|
+
b = b + bb >>> 0;
|
|
1033
|
+
c = c + cc >>> 0;
|
|
1034
|
+
d = d + dd >>> 0;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
return crypt.endian([a, b, c, d]);
|
|
1038
|
+
function ____(s, t, n) {
|
|
1039
|
+
return n << s | n >>> t;
|
|
1040
|
+
}
|
|
1041
|
+
function bytesToWordsNewer(bytes, words) {
|
|
1042
|
+
var i2 = -1, l2 = Math.floor((bytes.length - 1) / 4), j = 0, b0, b1, b2, b3;
|
|
1043
|
+
while (l2 - 8 > i2++) {
|
|
1044
|
+
j = i2 << 2;
|
|
1045
|
+
words[i2] = bytes[j + 0] | bytes[j + 1] << 8 | bytes[j + 2] << 16 | bytes[j + 3] << 24;
|
|
1046
|
+
}
|
|
1047
|
+
i2--;
|
|
1048
|
+
while (l2 > i2++) {
|
|
1049
|
+
j = i2 << 2;
|
|
1050
|
+
b0 = typeof bytes[j + 0] === "undefined" ? 0 : bytes[j + 0];
|
|
1051
|
+
b1 = typeof bytes[j + 1] === "undefined" ? 0 : bytes[j + 1];
|
|
1052
|
+
b2 = typeof bytes[j + 2] === "undefined" ? 0 : bytes[j + 2];
|
|
1053
|
+
b3 = typeof bytes[j + 3] === "undefined" ? 0 : bytes[j + 3];
|
|
1054
|
+
words[i2] = b0 | b1 << 8 | b2 << 16 | b3 << 24;
|
|
1055
|
+
}
|
|
1056
|
+
return l2 + 1;
|
|
1057
|
+
}
|
|
1058
|
+
};
|
|
1059
|
+
return function(message, exports, mView, options) {
|
|
1060
|
+
var digestbytes;
|
|
1061
|
+
loops = exports.loops;
|
|
1062
|
+
loop = exports.loop;
|
|
1063
|
+
getA = exports.getA;
|
|
1064
|
+
getB = exports.getB;
|
|
1065
|
+
getC = exports.getC;
|
|
1066
|
+
getD = exports.getD;
|
|
1067
|
+
getX = exports.getX;
|
|
1068
|
+
setA = exports.setA;
|
|
1069
|
+
setB = exports.setB;
|
|
1070
|
+
setC = exports.setC;
|
|
1071
|
+
setD = exports.setD;
|
|
1072
|
+
setX = exports.setX;
|
|
1073
|
+
memView = mView;
|
|
1074
|
+
digestbytes = crypt.wordsToBytes(md5WA(message));
|
|
1075
|
+
return options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);
|
|
1076
|
+
};
|
|
1077
|
+
}
|
|
1078
|
+
function makeMD5JS() {
|
|
1079
|
+
var md5JS = function(message, options) {
|
|
1080
|
+
var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m;
|
|
1081
|
+
var qwerty = new Date().getTime();
|
|
1082
|
+
var a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, l = message.length * 8;
|
|
1083
|
+
m = crypt.bytesToWords(message);
|
|
1084
|
+
for (var j = 0; j < m.length; j++) {
|
|
1085
|
+
m[j] = (m[j] << 8 | m[j] >>> 24) & 16711935 | (m[j] << 24 | m[j] >>> 8) & 4278255360;
|
|
1086
|
+
}
|
|
1087
|
+
m[l >>> 5] |= 128 << l % 32;
|
|
1088
|
+
m[(l + 64 >>> 9 << 4) + 14] = l;
|
|
1089
|
+
for (var i = 0; i < m.length; i += 16) {
|
|
1090
|
+
aa = a;
|
|
1091
|
+
bb = b;
|
|
1092
|
+
cc = c;
|
|
1093
|
+
dd = d;
|
|
1094
|
+
m00 = m[i + 0] >>> 0;
|
|
1095
|
+
m01 = m[i + 1] >>> 0;
|
|
1096
|
+
m02 = m[i + 2] >>> 0;
|
|
1097
|
+
m03 = m[i + 3] >>> 0;
|
|
1098
|
+
m04 = m[i + 4] >>> 0;
|
|
1099
|
+
m05 = m[i + 5] >>> 0;
|
|
1100
|
+
m06 = m[i + 6] >>> 0;
|
|
1101
|
+
m07 = m[i + 7] >>> 0;
|
|
1102
|
+
m08 = m[i + 8] >>> 0;
|
|
1103
|
+
m09 = m[i + 9] >>> 0;
|
|
1104
|
+
m10 = m[i + 10] >>> 0;
|
|
1105
|
+
m11 = m[i + 11] >>> 0;
|
|
1106
|
+
m12 = m[i + 12] >>> 0;
|
|
1107
|
+
m13 = m[i + 13] >>> 0;
|
|
1108
|
+
m14 = m[i + 14] >>> 0;
|
|
1109
|
+
m15 = m[i + 15] >>> 0;
|
|
1110
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m00 - 680876936) + b;
|
|
1111
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m01 - 389564586) + a;
|
|
1112
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m02 + 606105819) + d;
|
|
1113
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m03 - 1044525330) + c;
|
|
1114
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m04 - 176418897) + b;
|
|
1115
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m05 + 1200080426) + a;
|
|
1116
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m06 - 1473231341) + d;
|
|
1117
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m07 - 45705983) + c;
|
|
1118
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m08 + 1770035416) + b;
|
|
1119
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m09 - 1958414417) + a;
|
|
1120
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m10 - 42063) + d;
|
|
1121
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m11 - 1990404162) + c;
|
|
1122
|
+
a = ____(7, 25, a + (b & c | ~b & d) + m12 + 1804603682) + b;
|
|
1123
|
+
d = ____(12, 20, d + (a & b | ~a & c) + m13 - 40341101) + a;
|
|
1124
|
+
c = ____(17, 15, c + (d & a | ~d & b) + m14 - 1502002290) + d;
|
|
1125
|
+
b = ____(22, 10, b + (c & d | ~c & a) + m15 + 1236535329) + c;
|
|
1126
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m01 - 165796510) + b;
|
|
1127
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m06 - 1069501632) + a;
|
|
1128
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m11 + 643717713) + d;
|
|
1129
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m00 - 373897302) + c;
|
|
1130
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m05 - 701558691) + b;
|
|
1131
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m10 + 38016083) + a;
|
|
1132
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m15 - 660478335) + d;
|
|
1133
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m04 - 405537848) + c;
|
|
1134
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m09 + 568446438) + b;
|
|
1135
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m14 - 1019803690) + a;
|
|
1136
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m03 - 187363961) + d;
|
|
1137
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m08 + 1163531501) + c;
|
|
1138
|
+
a = ____(5, 27, a + (b & d | c & ~d) + m13 - 1444681467) + b;
|
|
1139
|
+
d = ____(9, 23, d + (a & c | b & ~c) + m02 - 51403784) + a;
|
|
1140
|
+
c = ____(14, 18, c + (d & b | a & ~b) + m07 + 1735328473) + d;
|
|
1141
|
+
b = ____(20, 12, b + (c & a | d & ~a) + m12 - 1926607734) + c;
|
|
1142
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;
|
|
1143
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;
|
|
1144
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;
|
|
1145
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;
|
|
1146
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;
|
|
1147
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;
|
|
1148
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;
|
|
1149
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;
|
|
1150
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;
|
|
1151
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;
|
|
1152
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;
|
|
1153
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;
|
|
1154
|
+
a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;
|
|
1155
|
+
d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;
|
|
1156
|
+
c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;
|
|
1157
|
+
b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;
|
|
1158
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;
|
|
1159
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;
|
|
1160
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;
|
|
1161
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;
|
|
1162
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;
|
|
1163
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;
|
|
1164
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;
|
|
1165
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;
|
|
1166
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;
|
|
1167
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;
|
|
1168
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;
|
|
1169
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;
|
|
1170
|
+
a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;
|
|
1171
|
+
d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;
|
|
1172
|
+
c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;
|
|
1173
|
+
b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;
|
|
1174
|
+
a = a + aa >>> 0;
|
|
1175
|
+
b = b + bb >>> 0;
|
|
1176
|
+
c = c + cc >>> 0;
|
|
1177
|
+
d = d + dd >>> 0;
|
|
1178
|
+
}
|
|
1179
|
+
return crypt.endian([a, b, c, d]);
|
|
1180
|
+
function ____(s, t, n) {
|
|
1181
|
+
return n << s | n >>> t;
|
|
1182
|
+
}
|
|
1183
|
+
};
|
|
1184
|
+
return function(message, options) {
|
|
1185
|
+
var digestbytes = crypt.wordsToBytes(md5JS(message, options)), result = options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);
|
|
1186
|
+
return result;
|
|
1187
|
+
};
|
|
1188
|
+
}
|
|
1189
|
+
function str2AB(str) {
|
|
1190
|
+
var l, buff, buffView, i = -1;
|
|
1191
|
+
l = str.length - 1;
|
|
1192
|
+
buff = new ArrayBuffer(str.length);
|
|
1193
|
+
buffView = new Uint8Array(buff);
|
|
1194
|
+
while (l > i++) {
|
|
1195
|
+
buffView[i] = str.charCodeAt(i);
|
|
1196
|
+
}
|
|
1197
|
+
return buffView;
|
|
1198
|
+
}
|
|
1199
|
+
function nodeATOB(str) {
|
|
1200
|
+
return Buffer.from(str, "base64").toString("binary");
|
|
1201
|
+
}
|
|
1202
|
+
function identity(x) {
|
|
1203
|
+
return x;
|
|
1204
|
+
}
|
|
1205
|
+
function makeCrypt() {
|
|
1206
|
+
var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1207
|
+
return {
|
|
1208
|
+
rotl: function(n, b) {
|
|
1209
|
+
return n << b | n >>> 32 - b;
|
|
1210
|
+
},
|
|
1211
|
+
endian: function(n) {
|
|
1212
|
+
if (n.constructor == Number) {
|
|
1213
|
+
return crypt.rotl(n, 8) & 16711935 | crypt.rotl(n, 24) & 4278255360;
|
|
1214
|
+
}
|
|
1215
|
+
for (var i = 0; i < n.length; i++)
|
|
1216
|
+
n[i] = crypt.endian(n[i]);
|
|
1217
|
+
return n;
|
|
1218
|
+
},
|
|
1219
|
+
bytesToWords: function(bytes) {
|
|
1220
|
+
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)
|
|
1221
|
+
words[b >>> 5] |= bytes[i] << 24 - b % 32;
|
|
1222
|
+
return words;
|
|
1223
|
+
},
|
|
1224
|
+
wordsToBytes: function(words) {
|
|
1225
|
+
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
|
1226
|
+
bytes.push(words[b >>> 5] >>> 24 - b % 32 & 255);
|
|
1227
|
+
return bytes;
|
|
1228
|
+
},
|
|
1229
|
+
bytesconvertNumberToHex: function(bytes) {
|
|
1230
|
+
for (var hex = [], i = 0; i < bytes.length; i++) {
|
|
1231
|
+
hex.push((bytes[i] >>> 4).toString(16));
|
|
1232
|
+
hex.push((bytes[i] & 15).toString(16));
|
|
1233
|
+
}
|
|
1234
|
+
return hex.join("");
|
|
1235
|
+
}
|
|
1236
|
+
};
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
// src/lib/md5-hash.ts
|
|
1240
|
+
var MD5Hash = class extends Hash {
|
|
1241
|
+
constructor(options = {}) {
|
|
1242
|
+
super();
|
|
1243
|
+
this.name = "md5";
|
|
1244
|
+
this.options = options;
|
|
1245
|
+
}
|
|
1246
|
+
/**
|
|
1247
|
+
* Atomic hash calculation
|
|
1248
|
+
* @returns base64 encoded hash
|
|
1249
|
+
*/
|
|
1250
|
+
async hash(input, encoding) {
|
|
1251
|
+
const md5Promise = new Promise(
|
|
1252
|
+
(resolve, reject) => (
|
|
1253
|
+
// @ts-expect-error
|
|
1254
|
+
md5WASM(input).then(resolve).catch(reject)
|
|
1255
|
+
)
|
|
1256
|
+
);
|
|
1257
|
+
const hex = await md5Promise;
|
|
1258
|
+
return encodeHex(hex, encoding);
|
|
1259
|
+
}
|
|
1260
|
+
};
|
|
1261
|
+
|
|
1262
|
+
// src/lib/crypto-hash.ts
|
|
1263
|
+
var CryptoJS;
|
|
1264
|
+
var CryptoHash = class extends Hash {
|
|
1265
|
+
constructor(options) {
|
|
1266
|
+
var _a, _b;
|
|
1267
|
+
super();
|
|
1268
|
+
this.options = options;
|
|
1269
|
+
this._algorithm = (_b = (_a = this.options) == null ? void 0 : _a.crypto) == null ? void 0 : _b.algorithm;
|
|
1270
|
+
if (!this._algorithm) {
|
|
1271
|
+
throw new Error(this.name);
|
|
1272
|
+
}
|
|
1273
|
+
this.name = this._algorithm.toLowerCase();
|
|
1274
|
+
}
|
|
1275
|
+
async preload() {
|
|
1276
|
+
var _a, _b;
|
|
1277
|
+
if (!CryptoJS) {
|
|
1278
|
+
CryptoJS = (_b = (_a = this.options) == null ? void 0 : _a.modules) == null ? void 0 : _b.CryptoJS;
|
|
1279
|
+
}
|
|
1280
|
+
if (!CryptoJS) {
|
|
1281
|
+
throw new Error(this.name);
|
|
1282
|
+
}
|
|
1283
|
+
if (!this._hash) {
|
|
1284
|
+
const algo = CryptoJS.algo[this._algorithm];
|
|
1285
|
+
this._hash = algo.create();
|
|
1286
|
+
}
|
|
1287
|
+
if (!this._hash) {
|
|
1288
|
+
throw new Error(this.name);
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
/**
|
|
1292
|
+
* Atomic hash calculation
|
|
1293
|
+
* @returns base64 encoded hash
|
|
1294
|
+
*/
|
|
1295
|
+
async hash(input, encoding) {
|
|
1296
|
+
await this.preload();
|
|
1297
|
+
const typedWordArray = CryptoJS.lib.WordArray.create(input);
|
|
1298
|
+
const enc = encoding === "base64" ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
|
|
1299
|
+
return this._hash.update(typedWordArray).finalize().toString(enc);
|
|
1300
|
+
}
|
|
1301
|
+
async *hashBatches(asyncIterator, encoding = "base64") {
|
|
1302
|
+
var _a, _b, _c;
|
|
1303
|
+
await this.preload();
|
|
1304
|
+
for await (const chunk of asyncIterator) {
|
|
1305
|
+
const typedWordArray = CryptoJS.lib.WordArray.create(chunk);
|
|
1306
|
+
this._hash.update(typedWordArray);
|
|
1307
|
+
yield chunk;
|
|
1308
|
+
}
|
|
1309
|
+
const enc = encoding === "base64" ? CryptoJS.enc.Base64 : CryptoJS.enc.Hex;
|
|
1310
|
+
const digest = this._hash.finalize().toString(enc);
|
|
1311
|
+
(_c = (_b = (_a = this.options) == null ? void 0 : _a.crypto) == null ? void 0 : _b.onEnd) == null ? void 0 : _c.call(_b, { hash: digest });
|
|
1312
|
+
}
|
|
1313
|
+
};
|
|
1314
|
+
|
|
1315
|
+
// src/lib/sha256-hash.ts
|
|
1316
|
+
var SHA256Hash = class extends CryptoHash {
|
|
1317
|
+
constructor(options) {
|
|
1318
|
+
super({ ...options, crypto: { ...options.crypto, algorithm: "SHA256" } });
|
|
1319
|
+
}
|
|
1320
|
+
};
|
|
1321
|
+
|
|
1322
|
+
// src/index.ts
|
|
1323
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
1324
|
+
var CryptoWorker = {
|
|
1325
|
+
id: "crypto",
|
|
1326
|
+
name: "CRC32, CRC32c and MD5 Hashes",
|
|
1327
|
+
module: "crypto",
|
|
1328
|
+
version: VERSION,
|
|
1329
|
+
options: {
|
|
1330
|
+
crypto: {}
|
|
1331
|
+
}
|
|
1332
|
+
};
|
|
1333
|
+
var CryptoJSWorker = {
|
|
1334
|
+
id: "cryptojs",
|
|
1335
|
+
name: "Cryptographic Hashes",
|
|
1336
|
+
module: "crypto",
|
|
1337
|
+
version: VERSION,
|
|
1338
|
+
options: {
|
|
1339
|
+
cryptojs: {}
|
|
1340
|
+
}
|
|
1341
|
+
};
|