@loaders.gl/crypto 3.3.0-alpha.4 → 3.3.0-alpha.6
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.js.map +1 -1
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/index.js +16 -21
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/algorithms/crc32.js +0 -9
- package/dist/es5/lib/algorithms/crc32.js.map +1 -1
- package/dist/es5/lib/algorithms/crc32c.js +1 -10
- package/dist/es5/lib/algorithms/crc32c.js.map +1 -1
- package/dist/es5/lib/algorithms/md5-wasm.js +32 -66
- package/dist/es5/lib/algorithms/md5-wasm.js.map +1 -1
- package/dist/es5/lib/crc32-hash.js +32 -90
- package/dist/es5/lib/crc32-hash.js.map +1 -1
- package/dist/es5/lib/crc32c-hash.js +36 -91
- package/dist/es5/lib/crc32c-hash.js.map +1 -1
- package/dist/es5/lib/crypto-hash.js +30 -98
- package/dist/es5/lib/crypto-hash.js.map +1 -1
- package/dist/es5/lib/hash.js +35 -82
- package/dist/es5/lib/hash.js.map +1 -1
- package/dist/es5/lib/md5-hash.js +3 -25
- package/dist/es5/lib/md5-hash.js.map +1 -1
- package/dist/es5/lib/node-hash.js +30 -86
- package/dist/es5/lib/node-hash.js.map +1 -1
- package/dist/es5/lib/sha256-hash.js +4 -19
- package/dist/es5/lib/sha256-hash.js.map +1 -1
- package/dist/es5/lib/utils/base64-utils.js +0 -13
- package/dist/es5/lib/utils/base64-utils.js.map +1 -1
- package/dist/es5/lib/utils/digest-utils.js +1 -4
- package/dist/es5/lib/utils/digest-utils.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/workers/worker.js +6 -22
- package/dist/es5/workers/worker.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/algorithms/crc32.js +2 -6
- package/dist/esm/lib/algorithms/crc32.js.map +1 -1
- package/dist/esm/lib/algorithms/crc32c.js +4 -9
- package/dist/esm/lib/algorithms/crc32c.js.map +1 -1
- package/dist/esm/lib/algorithms/md5-wasm.js +34 -64
- package/dist/esm/lib/algorithms/md5-wasm.js.map +1 -1
- package/dist/esm/lib/crc32-hash.js +3 -14
- package/dist/esm/lib/crc32-hash.js.map +1 -1
- package/dist/esm/lib/crc32c-hash.js +3 -13
- package/dist/esm/lib/crc32c-hash.js.map +1 -1
- package/dist/esm/lib/crypto-hash.js +2 -21
- package/dist/esm/lib/crypto-hash.js.map +1 -1
- package/dist/esm/lib/hash.js +2 -9
- package/dist/esm/lib/hash.js.map +1 -1
- package/dist/esm/lib/md5-hash.js +5 -6
- package/dist/esm/lib/md5-hash.js.map +1 -1
- package/dist/esm/lib/node-hash.js +2 -13
- package/dist/esm/lib/node-hash.js.map +1 -1
- package/dist/esm/lib/sha256-hash.js +5 -3
- package/dist/esm/lib/sha256-hash.js.map +1 -1
- package/dist/esm/lib/utils/base64-utils.js +1 -12
- package/dist/esm/lib/utils/base64-utils.js.map +1 -1
- package/dist/esm/lib/utils/digest-utils.js +2 -1
- package/dist/esm/lib/utils/digest-utils.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/workers/worker.js +3 -5
- package/dist/esm/workers/worker.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
const atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,
|
|
2
|
-
wasmB64 = atb('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'),
|
|
3
|
-
wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,
|
|
4
|
-
crypt = makeCrypt(),
|
|
5
|
-
biteSize = 240 * 16 * 16,
|
|
6
|
-
bounder = Math.floor(biteSize * 16 * 1.066666667),
|
|
7
|
-
upperLimit = 268435456 - 65536,
|
|
8
|
-
parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',
|
|
9
|
-
tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';
|
|
10
1
|
|
|
2
|
+
|
|
3
|
+
const atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,
|
|
4
|
+
wasmB64 = atb('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'),
|
|
5
|
+
wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,
|
|
6
|
+
crypt = makeCrypt(),
|
|
7
|
+
biteSize = 240 * 16 * 16,
|
|
8
|
+
bounder = Math.floor(biteSize * 16 * 1.066666667),
|
|
9
|
+
upperLimit = 268435456 - 65536,
|
|
10
|
+
parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',
|
|
11
|
+
tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';
|
|
11
12
|
if (!wasm) {
|
|
12
13
|
console.log('WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript');
|
|
13
14
|
}
|
|
@@ -15,16 +16,14 @@ if (!wasm) {
|
|
|
15
16
|
export default function md5WASM(data) {
|
|
16
17
|
var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;
|
|
17
18
|
const md5JS = makeMD5JS(),
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
md5WA = makeMD5WA(),
|
|
20
|
+
returnObj = {},
|
|
21
|
+
startTime = new Date().getTime();
|
|
22
22
|
returnObj['then'] = function (fun) {
|
|
23
23
|
thenFun = fun;
|
|
24
24
|
getThen();
|
|
25
25
|
return returnObj;
|
|
26
26
|
};
|
|
27
|
-
|
|
28
27
|
returnObj['catch'] = function (fun) {
|
|
29
28
|
catchFun = fun;
|
|
30
29
|
return returnObj;
|
|
@@ -48,7 +47,6 @@ export default function md5WASM(data) {
|
|
|
48
47
|
|
|
49
48
|
if (buff) {
|
|
50
49
|
len = buff.length;
|
|
51
|
-
|
|
52
50
|
if (wasm && len > bounder) {
|
|
53
51
|
if (len > upperLimit) {
|
|
54
52
|
getCatch(new Error(tooBigErrStr));
|
|
@@ -70,20 +68,15 @@ export default function md5WASM(data) {
|
|
|
70
68
|
getThen(md5JS(buff));
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
|
|
74
71
|
return returnObj;
|
|
75
|
-
|
|
76
72
|
function giterdone(obj) {
|
|
77
73
|
getThen(md5WA(buff, obj.instance.exports, memView));
|
|
78
74
|
}
|
|
79
|
-
|
|
80
75
|
function getThen(r) {
|
|
81
76
|
var res = Boolean(r) ? r : result;
|
|
82
|
-
|
|
83
77
|
if (Boolean(r)) {
|
|
84
78
|
endTime = new Date().getTime();
|
|
85
79
|
}
|
|
86
|
-
|
|
87
80
|
if (typeof thenFun === 'function') {
|
|
88
81
|
if (Boolean(res)) {
|
|
89
82
|
thenFun(res, endTime - startTime);
|
|
@@ -95,29 +88,26 @@ export default function md5WASM(data) {
|
|
|
95
88
|
}
|
|
96
89
|
}
|
|
97
90
|
}
|
|
98
|
-
|
|
99
91
|
function getCatch(err) {
|
|
100
92
|
if (typeof catchFun === 'function') {
|
|
101
93
|
catchFun(err);
|
|
102
94
|
}
|
|
103
95
|
}
|
|
104
96
|
}
|
|
105
|
-
|
|
106
97
|
function makeMD5WA() {
|
|
107
98
|
var loop, loops;
|
|
108
99
|
var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;
|
|
109
|
-
|
|
110
100
|
var md5WA = function (message) {
|
|
111
101
|
var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m, k;
|
|
112
102
|
var qwerty = new Date().getTime();
|
|
113
103
|
var md5Used = 0;
|
|
114
104
|
var a = 1732584193,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
105
|
+
b = -271733879,
|
|
106
|
+
c = -1732584194,
|
|
107
|
+
d = 271733878,
|
|
108
|
+
i = 0,
|
|
109
|
+
l = message.length * 8,
|
|
110
|
+
len;
|
|
121
111
|
len = bytesToWordsNewer(message, memView);
|
|
122
112
|
memView[l >>> 5] |= 0x80 << l % 32;
|
|
123
113
|
memView[(l + 64 >>> 9 << 4) + 14] = l;
|
|
@@ -231,27 +221,23 @@ function makeMD5WA() {
|
|
|
231
221
|
}
|
|
232
222
|
|
|
233
223
|
return crypt.endian([a, b, c, d]);
|
|
234
|
-
|
|
235
224
|
function ____(s, t, n) {
|
|
236
225
|
return n << s | n >>> t;
|
|
237
226
|
}
|
|
238
227
|
|
|
239
228
|
function bytesToWordsNewer(bytes, words) {
|
|
240
229
|
var i = -1,
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
230
|
+
l = Math.floor((bytes.length - 1) / 4),
|
|
231
|
+
j = 0,
|
|
232
|
+
b0,
|
|
233
|
+
b1,
|
|
234
|
+
b2,
|
|
235
|
+
b3;
|
|
248
236
|
while (l - 8 > i++) {
|
|
249
237
|
j = i << 2;
|
|
250
238
|
words[i] = bytes[j + 0] | bytes[j + 1] << 8 | bytes[j + 2] << 16 | bytes[j + 3] << 24;
|
|
251
239
|
}
|
|
252
|
-
|
|
253
240
|
i--;
|
|
254
|
-
|
|
255
241
|
while (l > i++) {
|
|
256
242
|
j = i << 2;
|
|
257
243
|
b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];
|
|
@@ -260,11 +246,9 @@ function makeMD5WA() {
|
|
|
260
246
|
b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];
|
|
261
247
|
words[i] = b0 | b1 << 8 | b2 << 16 | b3 << 24;
|
|
262
248
|
}
|
|
263
|
-
|
|
264
249
|
return l + 1;
|
|
265
250
|
}
|
|
266
251
|
};
|
|
267
|
-
|
|
268
252
|
return function (message, exports, mView, options) {
|
|
269
253
|
var digestbytes;
|
|
270
254
|
loops = exports.loops;
|
|
@@ -284,16 +268,16 @@ function makeMD5WA() {
|
|
|
284
268
|
return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);
|
|
285
269
|
};
|
|
286
270
|
}
|
|
287
|
-
|
|
288
271
|
function makeMD5JS() {
|
|
289
272
|
var md5JS = function (message, options) {
|
|
290
273
|
var m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15, aa, bb, cc, dd, m;
|
|
291
274
|
var qwerty = new Date().getTime();
|
|
275
|
+
|
|
292
276
|
var a = 1732584193,
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
277
|
+
b = -271733879,
|
|
278
|
+
c = -1732584194,
|
|
279
|
+
d = 271733878,
|
|
280
|
+
l = message.length * 8;
|
|
297
281
|
m = crypt.bytesToWords(message);
|
|
298
282
|
|
|
299
283
|
for (var j = 0; j < m.length; j++) {
|
|
@@ -302,7 +286,6 @@ function makeMD5JS() {
|
|
|
302
286
|
|
|
303
287
|
m[l >>> 5] |= 0x80 << l % 32;
|
|
304
288
|
m[(l + 64 >>> 9 << 4) + 14] = l;
|
|
305
|
-
|
|
306
289
|
for (var i = 0; i < m.length; i += 16) {
|
|
307
290
|
aa = a;
|
|
308
291
|
bb = b;
|
|
@@ -395,43 +378,35 @@ function makeMD5JS() {
|
|
|
395
378
|
}
|
|
396
379
|
|
|
397
380
|
return crypt.endian([a, b, c, d]);
|
|
398
|
-
|
|
399
381
|
function ____(s, t, n) {
|
|
400
382
|
return n << s | n >>> t;
|
|
401
383
|
}
|
|
402
384
|
};
|
|
403
|
-
|
|
404
385
|
return function (message, options) {
|
|
405
386
|
var digestbytes = crypt.wordsToBytes(md5JS(message, options)),
|
|
406
|
-
|
|
387
|
+
result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);
|
|
407
388
|
return result;
|
|
408
389
|
};
|
|
409
390
|
}
|
|
410
|
-
|
|
411
391
|
function str2AB(str) {
|
|
412
392
|
var l,
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
393
|
+
buff,
|
|
394
|
+
buffView,
|
|
395
|
+
i = -1;
|
|
416
396
|
l = str.length - 1;
|
|
417
397
|
buff = new ArrayBuffer(str.length);
|
|
418
398
|
buffView = new Uint8Array(buff);
|
|
419
|
-
|
|
420
399
|
while (l > i++) {
|
|
421
400
|
buffView[i] = str.charCodeAt(i);
|
|
422
401
|
}
|
|
423
|
-
|
|
424
402
|
return buffView;
|
|
425
403
|
}
|
|
426
|
-
|
|
427
404
|
function nodeATOB(str) {
|
|
428
405
|
return Buffer.from(str, 'base64').toString('binary');
|
|
429
406
|
}
|
|
430
|
-
|
|
431
407
|
function identity(x) {
|
|
432
408
|
return x;
|
|
433
409
|
}
|
|
434
|
-
|
|
435
410
|
function makeCrypt() {
|
|
436
411
|
var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
437
412
|
return {
|
|
@@ -442,19 +417,15 @@ function makeCrypt() {
|
|
|
442
417
|
if (n.constructor == Number) {
|
|
443
418
|
return crypt.rotl(n, 8) & 0x00ff00ff | crypt.rotl(n, 24) & 0xff00ff00;
|
|
444
419
|
}
|
|
445
|
-
|
|
446
420
|
for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);
|
|
447
|
-
|
|
448
421
|
return n;
|
|
449
422
|
},
|
|
450
423
|
bytesToWords: function (bytes) {
|
|
451
424
|
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8) words[b >>> 5] |= bytes[i] << 24 - b % 32;
|
|
452
|
-
|
|
453
425
|
return words;
|
|
454
426
|
},
|
|
455
427
|
wordsToBytes: function (words) {
|
|
456
428
|
for (var bytes = [], b = 0; b < words.length * 32; b += 8) bytes.push(words[b >>> 5] >>> 24 - b % 32 & 0xff);
|
|
457
|
-
|
|
458
429
|
return bytes;
|
|
459
430
|
},
|
|
460
431
|
bytesToHex: function (bytes) {
|
|
@@ -462,7 +433,6 @@ function makeCrypt() {
|
|
|
462
433
|
hex.push((bytes[i] >>> 4).toString(16));
|
|
463
434
|
hex.push((bytes[i] & 0xf).toString(16));
|
|
464
435
|
}
|
|
465
|
-
|
|
466
436
|
return hex.join('');
|
|
467
437
|
}
|
|
468
438
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/algorithms/md5-wasm.ts"],"names":["atb","atob","Buffer","nodeATOB","identity","wasmB64","wasm","WebAssembly","str2AB","buffer","crypt","makeCrypt","biteSize","bounder","Math","floor","upperLimit","parmTypeErrStr","tooBigErrStr","console","log","md5WASM","data","mem","memView","importObj","imports","len","buff","thenFun","catchFun","result","endTime","md5JS","makeMD5JS","md5WA","makeMD5WA","returnObj","startTime","Date","getTime","fun","getThen","constructor","Uint8Array","ArrayBuffer","getCatch","TypeError","length","Error","Memory","initial","Uint32Array","instantiate","then","giterdone","obj","instance","exports","r","res","Boolean","err","loop","loops","getA","setA","getB","setB","getC","setC","getD","setD","getX","setX","message","m00","m01","m02","m03","m04","m05","m06","m07","m08","m09","m10","m11","m12","m13","m14","m15","aa","bb","cc","dd","m","k","qwerty","md5Used","a","b","c","d","i","l","bytesToWordsNewer","____","endian","s","t","n","bytes","words","j","b0","b1","b2","b3","mView","options","digestbytes","wordsToBytes","asBytes","bytesToHex","bytesToWords","str","buffView","charCodeAt","from","toString","x","base64map","rotl","Number","push","hex","join"],"mappings":"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","sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,\n wasmB64 = atb(\n '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'\n ),\n wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n console.log(\n 'WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript'\n );\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n if (true) {\n if (data && typeof data === 'object') {\n if (typeof Buffer === 'function' && data.constructor === Buffer) {\n buff = data;\n } else {\n if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {\n buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n k;\n var qwerty = new Date().getTime();\n var md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << l % 32;\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << l % 32;\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n return result;\n };\n}\nfunction str2AB(str) {\n var l,\n buff,\n buffView,\n i = -1;\n l = str.length - 1;\n buff = new ArrayBuffer(str.length);\n buffView = new Uint8Array(buff);\n while (l > i++) {\n buffView[i] = str.charCodeAt(i);\n }\n return buffView;\n}\nfunction nodeATOB(str) {\n return Buffer.from(str, 'base64').toString('binary');\n}\nfunction identity(x) {\n return x;\n}\n\nfunction makeCrypt() {\n var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor == Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n"],"file":"md5-wasm.js"}
|
|
1
|
+
{"version":3,"file":"md5-wasm.js","names":["atb","atob","Buffer","nodeATOB","identity","wasmB64","wasm","WebAssembly","str2AB","buffer","crypt","makeCrypt","biteSize","bounder","Math","floor","upperLimit","parmTypeErrStr","tooBigErrStr","console","log","md5WASM","data","mem","memView","importObj","imports","len","buff","thenFun","catchFun","result","endTime","md5JS","makeMD5JS","md5WA","makeMD5WA","returnObj","startTime","Date","getTime","fun","getThen","constructor","Uint8Array","ArrayBuffer","getCatch","TypeError","length","Error","Memory","initial","Uint32Array","instantiate","then","giterdone","obj","instance","exports","r","res","Boolean","err","loop","loops","getA","setA","getB","setB","getC","setC","getD","setD","getX","setX","message","m00","m01","m02","m03","m04","m05","m06","m07","m08","m09","m10","m11","m12","m13","m14","m15","aa","bb","cc","dd","m","k","qwerty","md5Used","a","b","c","d","i","l","bytesToWordsNewer","____","endian","s","t","n","bytes","words","j","b0","b1","b2","b3","mView","options","digestbytes","wordsToBytes","asBytes","bytesToHex","bytesToWords","str","buffView","charCodeAt","from","toString","x","base64map","rotl","Number","push","hex","join"],"sources":["../../../../src/lib/algorithms/md5-wasm.ts"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst atb = typeof atob === 'function' ? atob : typeof Buffer === 'function' ? nodeATOB : identity,\n wasmB64 = atb(\n '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'\n ),\n wasm = WebAssembly && atb !== identity ? str2AB(wasmB64).buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be Buffer, ArrayBuffer or Uint8Array',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n console.log(\n 'WebAssembly not available or WASM module could not be decoded; md5WASM will fall back to JavaScript'\n );\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n if (true) {\n if (data && typeof data === 'object') {\n if (typeof Buffer === 'function' && data.constructor === Buffer) {\n buff = data;\n } else {\n if (data.constructor === Uint8Array || data.constructor === ArrayBuffer) {\n buff = data.constructor === ArrayBuffer ? new Uint8Array(data) : data;\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n } else {\n getCatch(new TypeError(parmTypeErrStr));\n }\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, getX, setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n k;\n var qwerty = new Date().getTime();\n var md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << l % 32;\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << l % 32;\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result = options && options.asBytes ? digestbytes : crypt.bytesToHex(digestbytes);\n return result;\n };\n}\nfunction str2AB(str) {\n var l,\n buff,\n buffView,\n i = -1;\n l = str.length - 1;\n buff = new ArrayBuffer(str.length);\n buffView = new Uint8Array(buff);\n while (l > i++) {\n buffView[i] = str.charCodeAt(i);\n }\n return buffView;\n}\nfunction nodeATOB(str) {\n return Buffer.from(str, 'base64').toString('binary');\n}\nfunction identity(x) {\n return x;\n}\n\nfunction makeCrypt() {\n var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor == Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n"],"mappings":"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"}
|
|
@@ -2,16 +2,14 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import { Hash } from './hash';
|
|
3
3
|
import CRC32 from './algorithms/crc32';
|
|
4
4
|
import { toHex, hexToBase64 } from './utils/digest-utils';
|
|
5
|
+
|
|
5
6
|
export class CRC32Hash extends Hash {
|
|
6
|
-
constructor(
|
|
7
|
+
constructor() {
|
|
8
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
9
|
super();
|
|
8
|
-
|
|
9
10
|
_defineProperty(this, "name", 'crc32');
|
|
10
|
-
|
|
11
11
|
_defineProperty(this, "options", void 0);
|
|
12
|
-
|
|
13
12
|
_defineProperty(this, "_hash", void 0);
|
|
14
|
-
|
|
15
13
|
this.options = {
|
|
16
14
|
crypto: {},
|
|
17
15
|
...options
|
|
@@ -23,34 +21,25 @@ export class CRC32Hash extends Hash {
|
|
|
23
21
|
async hash(input) {
|
|
24
22
|
return this.hashSync(input);
|
|
25
23
|
}
|
|
26
|
-
|
|
27
24
|
hashSync(input) {
|
|
28
25
|
this._hash.update(input);
|
|
29
|
-
|
|
30
26
|
const hashValue = this._hash.finalize();
|
|
31
|
-
|
|
32
27
|
const hex = toHex(hashValue);
|
|
33
28
|
const hash = hexToBase64(hex);
|
|
34
29
|
return hash;
|
|
35
30
|
}
|
|
36
|
-
|
|
37
31
|
async *hashBatches(asyncIterator) {
|
|
38
32
|
var _this$options$crypto, _this$options$crypto$;
|
|
39
|
-
|
|
40
33
|
for await (const chunk of asyncIterator) {
|
|
41
34
|
this._hash.update(chunk);
|
|
42
|
-
|
|
43
35
|
yield chunk;
|
|
44
36
|
}
|
|
45
|
-
|
|
46
37
|
const hashValue = this._hash.finalize();
|
|
47
|
-
|
|
48
38
|
const hex = toHex(hashValue);
|
|
49
39
|
const hash = hexToBase64(hex);
|
|
50
40
|
(_this$options$crypto = this.options.crypto) === null || _this$options$crypto === void 0 ? void 0 : (_this$options$crypto$ = _this$options$crypto.onEnd) === null || _this$options$crypto$ === void 0 ? void 0 : _this$options$crypto$.call(_this$options$crypto, {
|
|
51
41
|
hash
|
|
52
42
|
});
|
|
53
43
|
}
|
|
54
|
-
|
|
55
44
|
}
|
|
56
45
|
//# sourceMappingURL=crc32-hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"crc32-hash.js","names":["Hash","CRC32","toHex","hexToBase64","CRC32Hash","constructor","options","crypto","_hash","hashBatches","bind","hash","input","hashSync","update","hashValue","finalize","hex","asyncIterator","chunk","onEnd"],"sources":["../../../src/lib/crc32-hash.ts"],"sourcesContent":["// CRC32\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {toHex, hexToBase64} from './utils/digest-utils';\n\n/**\n * Calculates CRC32 Cryptographic Hash\n */\nexport class CRC32Hash extends Hash {\n readonly name = 'crc32';\n\n options;\n private _hash: CRC32;\n\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n this._hash = new CRC32();\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer): Promise<string> {\n return this.hashSync(input);\n }\n\n hashSync(input: ArrayBuffer): string {\n this._hash.update(input);\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n return hash;\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n ): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n this._hash.update(chunk);\n yield chunk;\n }\n const hashValue = this._hash.finalize();\n const hex = toHex(hashValue);\n const hash = hexToBase64(hex);\n this.options.crypto?.onEnd?.({hash});\n }\n}\n"],"mappings":";AACA,SAAQA,IAAI,QAAO,QAAQ;AAC3B,OAAOC,KAAK,MAAM,oBAAoB;AACtC,SAAQC,KAAK,EAAEC,WAAW,QAAO,sBAAsB;;AAKvD,OAAO,MAAMC,SAAS,SAASJ,IAAI,CAAC;EAMlCK,WAAW,GAAe;IAAA,IAAdC,OAAO,uEAAG,CAAC,CAAC;IACtB,KAAK,EAAE;IAAC,8BANM,OAAO;IAAA;IAAA;IAOrB,IAAI,CAACA,OAAO,GAAG;MAACC,MAAM,EAAE,CAAC,CAAC;MAAE,GAAGD;IAAO,CAAC;IACvC,IAAI,CAACE,KAAK,GAAG,IAAIP,KAAK,EAAE;IACxB,IAAI,CAACQ,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;EAChD;;EAMA,MAAMC,IAAI,CAACC,KAAkB,EAAmB;IAC9C,OAAO,IAAI,CAACC,QAAQ,CAACD,KAAK,CAAC;EAC7B;EAEAC,QAAQ,CAACD,KAAkB,EAAU;IACnC,IAAI,CAACJ,KAAK,CAACM,MAAM,CAACF,KAAK,CAAC;IACxB,MAAMG,SAAS,GAAG,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAE;IACvC,MAAMC,GAAG,GAAGf,KAAK,CAACa,SAAS,CAAC;IAC5B,MAAMJ,IAAI,GAAGR,WAAW,CAACc,GAAG,CAAC;IAC7B,OAAON,IAAI;EACb;EAEA,OAAOF,WAAW,CAChBS,aAAiE,EACrC;IAAA;IAC5B,WAAW,MAAMC,KAAK,IAAID,aAAa,EAAE;MACvC,IAAI,CAACV,KAAK,CAACM,MAAM,CAACK,KAAK,CAAC;MACxB,MAAMA,KAAK;IACb;IACA,MAAMJ,SAAS,GAAG,IAAI,CAACP,KAAK,CAACQ,QAAQ,EAAE;IACvC,MAAMC,GAAG,GAAGf,KAAK,CAACa,SAAS,CAAC;IAC5B,MAAMJ,IAAI,GAAGR,WAAW,CAACc,GAAG,CAAC;IAC7B,4BAAI,CAACX,OAAO,CAACC,MAAM,kFAAnB,qBAAqBa,KAAK,0DAA1B,iDAA6B;MAACT;IAAI,CAAC,CAAC;EACtC;AACF"}
|