@bsv/sdk 1.0.13 → 1.0.15

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.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/package.json +2 -2
  3. package/dist/cjs/src/compat/BSM.js.map +1 -1
  4. package/dist/cjs/src/compat/ECIES.js +105 -76
  5. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  6. package/dist/cjs/src/compat/HD.js +65 -65
  7. package/dist/cjs/src/compat/HD.js.map +1 -1
  8. package/dist/cjs/src/compat/Mnemonic.js +79 -79
  9. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  10. package/dist/cjs/src/compat/bip-39-wordlist-en.js +2 -2
  11. package/dist/cjs/src/compat/bip-39-wordlist-en.js.map +1 -1
  12. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  13. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  14. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  15. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  16. package/dist/cjs/src/primitives/Hash.js +26 -13
  17. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  18. package/dist/cjs/src/primitives/PrivateKey.js +3 -2
  19. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  20. package/dist/cjs/src/primitives/PublicKey.js +1 -2
  21. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  22. package/dist/cjs/src/primitives/Random.js +2 -2
  23. package/dist/cjs/src/primitives/Random.js.map +1 -1
  24. package/dist/cjs/src/primitives/Signature.js +141 -4
  25. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  26. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  27. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  28. package/dist/cjs/src/primitives/utils.js +14 -9
  29. package/dist/cjs/src/primitives/utils.js.map +1 -1
  30. package/dist/cjs/src/script/Spend.js.map +1 -1
  31. package/dist/cjs/src/script/templates/P2PKH.js +1 -1
  32. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  33. package/dist/cjs/src/transaction/MerklePath.js +3 -3
  34. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  35. package/dist/cjs/src/transaction/Transaction.js +2 -2
  36. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  37. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  38. package/dist/esm/src/compat/BSM.js.map +1 -1
  39. package/dist/esm/src/compat/ECIES.js +105 -76
  40. package/dist/esm/src/compat/ECIES.js.map +1 -1
  41. package/dist/esm/src/compat/HD.js +65 -65
  42. package/dist/esm/src/compat/HD.js.map +1 -1
  43. package/dist/esm/src/compat/Mnemonic.js +79 -79
  44. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  45. package/dist/esm/src/compat/bip-39-wordlist-en.js +2 -2
  46. package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
  47. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  48. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  49. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  50. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  51. package/dist/esm/src/primitives/Hash.js +26 -13
  52. package/dist/esm/src/primitives/Hash.js.map +1 -1
  53. package/dist/esm/src/primitives/PrivateKey.js +3 -2
  54. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  55. package/dist/esm/src/primitives/PublicKey.js +1 -2
  56. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  57. package/dist/esm/src/primitives/Random.js +2 -2
  58. package/dist/esm/src/primitives/Random.js.map +1 -1
  59. package/dist/esm/src/primitives/Signature.js +141 -4
  60. package/dist/esm/src/primitives/Signature.js.map +1 -1
  61. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  62. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  63. package/dist/esm/src/primitives/utils.js +14 -9
  64. package/dist/esm/src/primitives/utils.js.map +1 -1
  65. package/dist/esm/src/script/Spend.js.map +1 -1
  66. package/dist/esm/src/script/templates/P2PKH.js +1 -1
  67. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  68. package/dist/esm/src/transaction/MerklePath.js +3 -3
  69. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  70. package/dist/esm/src/transaction/Transaction.js +2 -2
  71. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  72. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  73. package/dist/types/src/compat/ECIES.d.ts +36 -36
  74. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  75. package/dist/types/src/compat/HD.d.ts +65 -65
  76. package/dist/types/src/compat/HD.d.ts.map +1 -1
  77. package/dist/types/src/compat/Mnemonic.d.ts +79 -79
  78. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  79. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  80. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  81. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  82. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  83. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  84. package/dist/types/src/primitives/Signature.d.ts +62 -0
  85. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  86. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  87. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  88. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  89. package/dist/types/src/script/Spend.d.ts.map +1 -1
  90. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  91. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  92. package/docs/compat.md +4 -4
  93. package/docs/primitives.md +288 -79
  94. package/mod.ts +8 -0
  95. package/package.json +5 -3
  96. package/src/compat/BSM.ts +12 -12
  97. package/src/compat/ECIES.ts +417 -418
  98. package/src/compat/HD.ts +228 -228
  99. package/src/compat/Mnemonic.ts +173 -173
  100. package/src/compat/__tests/BSM.test.ts +13 -2
  101. package/src/compat/bip-39-wordlist-en.ts +2052 -2052
  102. package/src/primitives/AESGCM.ts +30 -30
  103. package/src/primitives/BigNumber.ts +0 -1
  104. package/src/primitives/DRBG.ts +5 -5
  105. package/src/primitives/ECDSA.ts +1 -1
  106. package/src/primitives/Hash.ts +278 -293
  107. package/src/primitives/PrivateKey.ts +18 -19
  108. package/src/primitives/PublicKey.ts +9 -10
  109. package/src/primitives/Random.ts +4 -4
  110. package/src/primitives/Signature.ts +158 -14
  111. package/src/primitives/SymmetricKey.ts +3 -3
  112. package/src/primitives/TransactionSignature.ts +9 -9
  113. package/src/primitives/index.ts +1 -1
  114. package/src/primitives/utils.ts +60 -64
  115. package/src/script/Spend.ts +12 -12
  116. package/src/script/index.ts +1 -1
  117. package/src/script/templates/P2PKH.ts +1 -1
  118. package/src/transaction/MerklePath.ts +3 -3
  119. package/src/transaction/Transaction.ts +23 -23
@@ -49,7 +49,7 @@ abstract class BaseHash {
49
49
  padLength: number
50
50
  hmacStrength: number
51
51
 
52
- constructor(
52
+ constructor (
53
53
  blockSize: number, outSize: number, hmacStrength: number, padLength: number
54
54
  ) {
55
55
  this.pending = null
@@ -64,15 +64,15 @@ abstract class BaseHash {
64
64
  this._delta32 = this.blockSize / 32
65
65
  }
66
66
 
67
- _update(msg: number[], start: number): void {
67
+ _update (msg: number[], start: number): void {
68
68
  throw new Error('Not implemented')
69
69
  }
70
70
 
71
- _digest(): number[] {
71
+ _digest (): number[] {
72
72
  throw new Error('Not implemented')
73
73
  }
74
74
 
75
- _digestHex(): string {
75
+ _digestHex (): string {
76
76
  throw new Error('Not implemented')
77
77
  }
78
78
 
@@ -89,7 +89,7 @@ abstract class BaseHash {
89
89
  * @example
90
90
  * sha256.update('Hello World', 'utf8');
91
91
  */
92
- update(msg: number[] | string, enc?: 'hex' | 'utf8'): this {
92
+ update (msg: number[] | string, enc?: 'hex' | 'utf8'): this {
93
93
  // Convert message to array, pad it, and join into 32bit blocks
94
94
  msg = toArray(msg, enc)
95
95
  if (this.pending == null) {
@@ -127,7 +127,7 @@ abstract class BaseHash {
127
127
  * @example
128
128
  * const hash = sha256.digest();
129
129
  */
130
- digest(): number[] {
130
+ digest (): number[] {
131
131
  this.update(this._pad())
132
132
  assert(this.pending === null)
133
133
 
@@ -144,10 +144,10 @@ abstract class BaseHash {
144
144
  * @example
145
145
  * const hash = sha256.digestHex();
146
146
  */
147
- digestHex(): string {
147
+ digestHex (): string {
148
148
  this.update(this._pad())
149
149
  assert(this.pending === null)
150
-
150
+
151
151
  return this._digestHex()
152
152
  };
153
153
 
@@ -159,7 +159,7 @@ abstract class BaseHash {
159
159
  *
160
160
  * @returns Returns an array denoting the padding.
161
161
  */
162
- private _pad(): number[] { //
162
+ private _pad (): number[] { //
163
163
  let len = this.pendingTotal
164
164
  const bytes = this._delta8
165
165
  const k = bytes - ((len + this.padLength) % bytes)
@@ -199,7 +199,7 @@ abstract class BaseHash {
199
199
  }
200
200
  }
201
201
 
202
- function isSurrogatePair(msg: string, i: number): boolean {
202
+ function isSurrogatePair (msg: string, i: number): boolean {
203
203
  if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {
204
204
  return false
205
205
  }
@@ -210,12 +210,12 @@ function isSurrogatePair(msg: string, i: number): boolean {
210
210
  }
211
211
 
212
212
  /**
213
- *
214
- * @param msg
213
+ *
214
+ * @param msg
215
215
  * @param enc Optional. Encoding to use if msg is string. Default is 'utf8'.
216
216
  * @returns array of byte values from msg. If msg is an array, a copy is returned.
217
217
  */
218
- export function toArray(msg: number[] | string, enc?: 'hex' | 'utf8'): number[] {
218
+ export function toArray (msg: number[] | string, enc?: 'hex' | 'utf8'): number[] {
219
219
  if (Array.isArray(msg)) { return msg.slice() }
220
220
  if (!(msg as unknown as boolean)) { return [] }
221
221
  const res = []
@@ -261,7 +261,7 @@ export function toArray(msg: number[] | string, enc?: 'hex' | 'utf8'): number[]
261
261
  return res
262
262
  }
263
263
 
264
- function htonl(w: number): number {
264
+ function htonl (w: number): number {
265
265
  const res = (w >>> 24) |
266
266
  ((w >>> 8) & 0xff00) |
267
267
  ((w << 8) & 0xff0000) |
@@ -269,7 +269,7 @@ function htonl(w: number): number {
269
269
  return res >>> 0
270
270
  }
271
271
 
272
- function toHex32(msg: number[], endian?: 'little' | 'big'): string {
272
+ function toHex32 (msg: number[], endian?: 'little' | 'big'): string {
273
273
  let res = ''
274
274
  for (let i = 0; i < msg.length; i++) {
275
275
  let w = msg[i]
@@ -279,7 +279,7 @@ function toHex32(msg: number[], endian?: 'little' | 'big'): string {
279
279
  return res
280
280
  }
281
281
 
282
- function zero8(word: string): string {
282
+ function zero8 (word: string): string {
283
283
  if (word.length === 7) {
284
284
  return '0' + word
285
285
  } else if (word.length === 6) {
@@ -299,7 +299,7 @@ function zero8(word: string): string {
299
299
  }
300
300
  }
301
301
 
302
- function join32(msg, start, end, endian): number[] {
302
+ function join32 (msg, start, end, endian): number[] {
303
303
  const len = end - start
304
304
  assert(len % 4 === 0)
305
305
  const res = new Array(len / 4)
@@ -315,7 +315,7 @@ function join32(msg, start, end, endian): number[] {
315
315
  return res
316
316
  }
317
317
 
318
- function split32(msg: number[], endian: 'big' | 'little'): number[] {
318
+ function split32 (msg: number[], endian: 'big' | 'little'): number[] {
319
319
  const res = new Array(msg.length * 4)
320
320
  for (let i = 0, k = 0; i < msg.length; i++, k += 4) {
321
321
  const m = msg[i]
@@ -334,63 +334,63 @@ function split32(msg: number[], endian: 'big' | 'little'): number[] {
334
334
  return res
335
335
  }
336
336
 
337
- function rotr32(w: number, b: number): number {
337
+ function rotr32 (w: number, b: number): number {
338
338
  return (w >>> b) | (w << (32 - b))
339
339
  }
340
340
 
341
- function rotl32(w: number, b: number): number {
341
+ function rotl32 (w: number, b: number): number {
342
342
  return (w << b) | (w >>> (32 - b))
343
343
  }
344
344
 
345
- function sum32(a: number, b: number): number {
345
+ function sum32 (a: number, b: number): number {
346
346
  return (a + b) >>> 0
347
347
  }
348
348
 
349
- function SUM32_3(a: number, b: number, c: number): number {
349
+ function SUM32_3 (a: number, b: number, c: number): number {
350
350
  return (a + b + c) >>> 0
351
351
  }
352
352
 
353
- function SUM32_4(a: number, b: number, c: number, d: number): number {
353
+ function SUM32_4 (a: number, b: number, c: number, d: number): number {
354
354
  return (a + b + c + d) >>> 0
355
355
  }
356
356
 
357
- function SUM32_5(
357
+ function SUM32_5 (
358
358
  a: number, b: number, c: number, d: number, e: number
359
359
  ): number {
360
360
  return (a + b + c + d + e) >>> 0
361
361
  }
362
362
 
363
- function FT_1(s, x, y, z): number {
363
+ function FT_1 (s, x, y, z): number {
364
364
  if (s === 0) { return ch32(x, y, z) }
365
365
  if (s === 1 || s === 3) { return p32(x, y, z) }
366
366
  if (s === 2) { return maj32(x, y, z) }
367
367
  }
368
368
 
369
- function ch32(x, y, z): number {
369
+ function ch32 (x, y, z): number {
370
370
  return (x & y) ^ ((~x) & z)
371
371
  }
372
372
 
373
- function maj32(x, y, z): number {
373
+ function maj32 (x, y, z): number {
374
374
  return (x & y) ^ (x & z) ^ (y & z)
375
375
  }
376
376
 
377
- function p32(x, y, z): number {
377
+ function p32 (x, y, z): number {
378
378
  return x ^ y ^ z
379
379
  }
380
380
 
381
- function S0_256(x): number {
381
+ function S0_256 (x): number {
382
382
  return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22)
383
383
  }
384
384
 
385
- function S1_256(x): number {
385
+ function S1_256 (x): number {
386
386
  return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25)
387
387
  }
388
388
 
389
- function G0_256(x): number {
389
+ function G0_256 (x): number {
390
390
  return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3)
391
391
  }
392
392
 
393
- function G1_256(x): number {
393
+ function G1_256 (x): number {
394
394
  return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10)
395
395
  }
396
396
 
@@ -426,97 +426,97 @@ const sh = [
426
426
  8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
427
427
  ]
428
428
 
429
- function f(j, x, y, z): number {
429
+ function f (j, x, y, z): number {
430
430
  if (j <= 15) { return x ^ y ^ z } else if (j <= 31) { return (x & y) | ((~x) & z) } else if (j <= 47) { return (x | (~y)) ^ z } else if (j <= 63) { return (x & z) | (y & (~z)) } else { return x ^ (y | (~z)) }
431
431
  }
432
432
 
433
- function K(j): number {
433
+ function K (j): number {
434
434
  if (j <= 15) { return 0x00000000 } else if (j <= 31) { return 0x5a827999 } else if (j <= 47) { return 0x6ed9eba1 } else if (j <= 63) { return 0x8f1bbcdc } else { return 0xa953fd4e }
435
435
  }
436
436
 
437
- function Kh(j): number {
437
+ function Kh (j): number {
438
438
  if (j <= 15) { return 0x50a28be6 } else if (j <= 31) { return 0x5c4dd124 } else if (j <= 47) { return 0x6d703ef3 } else if (j <= 63) { return 0x7a6d76e9 } else { return 0x00000000 }
439
439
  }
440
440
 
441
- function sum64(buf, pos, ah, al) {
442
- const bh = buf[pos];
443
- const bl = buf[pos + 1];
441
+ function sum64 (buf, pos, ah, al) {
442
+ const bh = buf[pos]
443
+ const bl = buf[pos + 1]
444
444
 
445
- const lo = (al + bl) >>> 0;
446
- const hi = (lo < al ? 1 : 0) + ah + bh;
447
- buf[pos] = hi >>> 0;
448
- buf[pos + 1] = lo;
445
+ const lo = (al + bl) >>> 0
446
+ const hi = (lo < al ? 1 : 0) + ah + bh
447
+ buf[pos] = hi >>> 0
448
+ buf[pos + 1] = lo
449
449
  }
450
450
 
451
- function sum64_hi(ah, al, bh, bl) {
452
- const lo = (al + bl) >>> 0;
453
- const hi = (lo < al ? 1 : 0) + ah + bh;
454
- return hi >>> 0;
451
+ function sum64_hi (ah, al, bh, bl) {
452
+ const lo = (al + bl) >>> 0
453
+ const hi = (lo < al ? 1 : 0) + ah + bh
454
+ return hi >>> 0
455
455
  }
456
456
 
457
- function sum64_lo(ah, al, bh, bl) {
458
- const lo = al + bl;
459
- return lo >>> 0;
457
+ function sum64_lo (ah, al, bh, bl) {
458
+ const lo = al + bl
459
+ return lo >>> 0
460
460
  }
461
461
 
462
- function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
463
- let carry = 0;
464
- let lo = al;
465
- lo = (lo + bl) >>> 0;
466
- carry += lo < al ? 1 : 0;
467
- lo = (lo + cl) >>> 0;
468
- carry += lo < cl ? 1 : 0;
469
- lo = (lo + dl) >>> 0;
470
- carry += lo < dl ? 1 : 0;
462
+ function sum64_4_hi (ah, al, bh, bl, ch, cl, dh, dl) {
463
+ let carry = 0
464
+ let lo = al
465
+ lo = (lo + bl) >>> 0
466
+ carry += lo < al ? 1 : 0
467
+ lo = (lo + cl) >>> 0
468
+ carry += lo < cl ? 1 : 0
469
+ lo = (lo + dl) >>> 0
470
+ carry += lo < dl ? 1 : 0
471
471
 
472
- const hi = ah + bh + ch + dh + carry;
473
- return hi >>> 0;
472
+ const hi = ah + bh + ch + dh + carry
473
+ return hi >>> 0
474
474
  }
475
475
 
476
- function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {
477
- const lo = al + bl + cl + dl;
478
- return lo >>> 0;
476
+ function sum64_4_lo (ah, al, bh, bl, ch, cl, dh, dl) {
477
+ const lo = al + bl + cl + dl
478
+ return lo >>> 0
479
479
  }
480
480
 
481
- function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
482
- let carry = 0;
483
- let lo = al;
484
- lo = (lo + bl) >>> 0;
485
- carry += lo < al ? 1 : 0;
486
- lo = (lo + cl) >>> 0;
487
- carry += lo < cl ? 1 : 0;
488
- lo = (lo + dl) >>> 0;
489
- carry += lo < dl ? 1 : 0;
490
- lo = (lo + el) >>> 0;
491
- carry += lo < el ? 1 : 0;
481
+ function sum64_5_hi (ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
482
+ let carry = 0
483
+ let lo = al
484
+ lo = (lo + bl) >>> 0
485
+ carry += lo < al ? 1 : 0
486
+ lo = (lo + cl) >>> 0
487
+ carry += lo < cl ? 1 : 0
488
+ lo = (lo + dl) >>> 0
489
+ carry += lo < dl ? 1 : 0
490
+ lo = (lo + el) >>> 0
491
+ carry += lo < el ? 1 : 0
492
492
 
493
- const hi = ah + bh + ch + dh + eh + carry;
494
- return hi >>> 0;
493
+ const hi = ah + bh + ch + dh + eh + carry
494
+ return hi >>> 0
495
495
  }
496
496
 
497
- function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
498
- const lo = al + bl + cl + dl + el;
497
+ function sum64_5_lo (ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
498
+ const lo = al + bl + cl + dl + el
499
499
 
500
- return lo >>> 0;
500
+ return lo >>> 0
501
501
  }
502
502
 
503
- function rotr64_hi(ah, al, num) {
504
- const r = (al << (32 - num)) | (ah >>> num);
505
- return r >>> 0;
503
+ function rotr64_hi (ah, al, num) {
504
+ const r = (al << (32 - num)) | (ah >>> num)
505
+ return r >>> 0
506
506
  }
507
507
 
508
- function rotr64_lo(ah, al, num) {
509
- const r = (ah << (32 - num)) | (al >>> num);
510
- return r >>> 0;
508
+ function rotr64_lo (ah, al, num) {
509
+ const r = (ah << (32 - num)) | (al >>> num)
510
+ return r >>> 0
511
511
  }
512
512
 
513
- function shr64_hi(ah, al, num) {
514
- return ah >>> num;
513
+ function shr64_hi (ah, al, num) {
514
+ return ah >>> num
515
515
  }
516
516
 
517
- function shr64_lo(ah, al, num) {
518
- const r = (ah << (32 - num)) | (al >>> num);
519
- return r >>> 0;
517
+ function shr64_lo (ah, al, num) {
518
+ const r = (ah << (32 - num)) | (al >>> num)
519
+ return r >>> 0
520
520
  }
521
521
 
522
522
  /**
@@ -539,7 +539,7 @@ function shr64_lo(ah, al, num) {
539
539
  export class RIPEMD160 extends BaseHash {
540
540
  h: number[]
541
541
 
542
- constructor() {
542
+ constructor () {
543
543
  super(512, 160, 192, 64)
544
544
  this.endian = 'little'
545
545
 
@@ -547,7 +547,7 @@ export class RIPEMD160 extends BaseHash {
547
547
  this.endian = 'little'
548
548
  }
549
549
 
550
- _update(msg: number[], start: number): void {
550
+ _update (msg: number[], start: number): void {
551
551
  let A = this.h[0]
552
552
  let B = this.h[1]
553
553
  let C = this.h[2]
@@ -589,12 +589,12 @@ export class RIPEMD160 extends BaseHash {
589
589
  this.h[0] = T
590
590
  }
591
591
 
592
- _digest(): number[] {
593
- return split32(this.h, 'little')
592
+ _digest (): number[] {
593
+ return split32(this.h, 'little')
594
594
  }
595
595
 
596
- _digestHex(): string {
597
- return toHex32(this.h, 'little')
596
+ _digestHex (): string {
597
+ return toHex32(this.h, 'little')
598
598
  }
599
599
  }
600
600
 
@@ -622,7 +622,7 @@ export class SHA256 extends BaseHash {
622
622
  W: number[]
623
623
  k: number[]
624
624
 
625
- constructor() {
625
+ constructor () {
626
626
  super(512, 256, 192, 64)
627
627
  this.h = [
628
628
  0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
@@ -649,7 +649,7 @@ export class SHA256 extends BaseHash {
649
649
  this.W = new Array(64)
650
650
  }
651
651
 
652
- _update(msg: number[], start?: number): void {
652
+ _update (msg: number[], start?: number): void {
653
653
  const W = this.W
654
654
 
655
655
  let i: number
@@ -693,11 +693,11 @@ export class SHA256 extends BaseHash {
693
693
  this.h[7] = sum32(this.h[7], h)
694
694
  };
695
695
 
696
- _digest(): number[] {
696
+ _digest (): number[] {
697
697
  return split32(this.h, 'big')
698
698
  }
699
699
 
700
- _digestHex(): string {
700
+ _digestHex (): string {
701
701
  return toHex32(this.h, 'big')
702
702
  }
703
703
  }
@@ -726,7 +726,7 @@ export class SHA1 extends BaseHash {
726
726
  W: number[]
727
727
  k: number[]
728
728
 
729
- constructor() {
729
+ constructor () {
730
730
  super(512, 160, 80, 64)
731
731
  this.k = [
732
732
  0x5A827999, 0x6ED9EBA1,
@@ -738,7 +738,7 @@ export class SHA1 extends BaseHash {
738
738
  this.W = new Array(80)
739
739
  }
740
740
 
741
- _update(msg: number[], start?: number): void {
741
+ _update (msg: number[], start?: number): void {
742
742
  const W = this.W
743
743
 
744
744
  let i: number
@@ -771,11 +771,11 @@ export class SHA1 extends BaseHash {
771
771
  this.h[4] = sum32(this.h[4], e)
772
772
  }
773
773
 
774
- _digest(): number[] {
774
+ _digest (): number[] {
775
775
  return split32(this.h, 'big')
776
776
  }
777
777
 
778
- _digestHex(): string {
778
+ _digestHex (): string {
779
779
  return toHex32(this.h, 'big')
780
780
  }
781
781
  }
@@ -804,7 +804,7 @@ export class SHA512 extends BaseHash {
804
804
  W: number[]
805
805
  k: number[]
806
806
 
807
- constructor() {
807
+ constructor () {
808
808
  super(1024, 512, 192, 128)
809
809
  this.h = [
810
810
  0x6a09e667, 0xf3bcc908,
@@ -860,251 +860,237 @@ export class SHA512 extends BaseHash {
860
860
  this.W = new Array(160)
861
861
  }
862
862
 
863
-
864
- _prepareBlock(msg, start) {
865
- const W = this.W;
863
+ _prepareBlock (msg, start) {
864
+ const W = this.W
866
865
 
867
866
  // 32 x 32bit words
868
867
  let i
869
- for (i = 0; i < 32; i++)
870
- W[i] = msg[start + i];
868
+ for (i = 0; i < 32; i++) { W[i] = msg[start + i] }
871
869
  for (; i < W.length; i += 2) {
872
- const c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2
873
- const c0_lo = g1_512_lo(W[i - 4], W[i - 3]);
874
- const c1_hi = W[i - 14]; // i - 7
875
- const c1_lo = W[i - 13];
876
- const c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15
877
- const c2_lo = g0_512_lo(W[i - 30], W[i - 29]);
878
- const c3_hi = W[i - 32]; // i - 16
879
- const c3_lo = W[i - 31];
870
+ const c0_hi = g1_512_hi(W[i - 4], W[i - 3]) // i - 2
871
+ const c0_lo = g1_512_lo(W[i - 4], W[i - 3])
872
+ const c1_hi = W[i - 14] // i - 7
873
+ const c1_lo = W[i - 13]
874
+ const c2_hi = g0_512_hi(W[i - 30], W[i - 29]) // i - 15
875
+ const c2_lo = g0_512_lo(W[i - 30], W[i - 29])
876
+ const c3_hi = W[i - 32] // i - 16
877
+ const c3_lo = W[i - 31]
880
878
 
881
879
  W[i] = sum64_4_hi(
882
880
  c0_hi, c0_lo,
883
881
  c1_hi, c1_lo,
884
882
  c2_hi, c2_lo,
885
- c3_hi, c3_lo);
883
+ c3_hi, c3_lo)
886
884
  W[i + 1] = sum64_4_lo(
887
885
  c0_hi, c0_lo,
888
886
  c1_hi, c1_lo,
889
887
  c2_hi, c2_lo,
890
- c3_hi, c3_lo);
888
+ c3_hi, c3_lo)
891
889
  }
892
890
  }
893
891
 
894
- _update(msg, start) {
895
- this._prepareBlock(msg, start);
896
-
897
- const W = this.W;
898
-
899
- let ah = this.h[0];
900
- let al = this.h[1];
901
- let bh = this.h[2];
902
- let bl = this.h[3];
903
- let ch = this.h[4];
904
- let cl = this.h[5];
905
- let dh = this.h[6];
906
- let dl = this.h[7];
907
- let eh = this.h[8];
908
- let el = this.h[9];
909
- let fh = this.h[10];
910
- let fl = this.h[11];
911
- let gh = this.h[12];
912
- let gl = this.h[13];
913
- let hh = this.h[14];
914
- let hl = this.h[15];
915
-
916
- assert(this.k.length === W.length);
892
+ _update (msg, start) {
893
+ this._prepareBlock(msg, start)
894
+
895
+ const W = this.W
896
+
897
+ let ah = this.h[0]
898
+ let al = this.h[1]
899
+ let bh = this.h[2]
900
+ let bl = this.h[3]
901
+ let ch = this.h[4]
902
+ let cl = this.h[5]
903
+ let dh = this.h[6]
904
+ let dl = this.h[7]
905
+ let eh = this.h[8]
906
+ let el = this.h[9]
907
+ let fh = this.h[10]
908
+ let fl = this.h[11]
909
+ let gh = this.h[12]
910
+ let gl = this.h[13]
911
+ let hh = this.h[14]
912
+ let hl = this.h[15]
913
+
914
+ assert(this.k.length === W.length)
917
915
  for (let i = 0; i < W.length; i += 2) {
918
- let c0_hi = hh;
919
- let c0_lo = hl;
920
- let c1_hi = s1_512_hi(eh, el);
921
- let c1_lo = s1_512_lo(eh, el);
922
- const c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);
923
- const c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);
924
- const c3_hi = this.k[i];
925
- const c3_lo = this.k[i + 1];
926
- const c4_hi = W[i];
927
- const c4_lo = W[i + 1];
916
+ let c0_hi = hh
917
+ let c0_lo = hl
918
+ let c1_hi = s1_512_hi(eh, el)
919
+ let c1_lo = s1_512_lo(eh, el)
920
+ const c2_hi = ch64_hi(eh, el, fh, fl, gh, gl)
921
+ const c2_lo = ch64_lo(eh, el, fh, fl, gh, gl)
922
+ const c3_hi = this.k[i]
923
+ const c3_lo = this.k[i + 1]
924
+ const c4_hi = W[i]
925
+ const c4_lo = W[i + 1]
928
926
 
929
927
  const T1_hi = sum64_5_hi(
930
928
  c0_hi, c0_lo,
931
929
  c1_hi, c1_lo,
932
930
  c2_hi, c2_lo,
933
931
  c3_hi, c3_lo,
934
- c4_hi, c4_lo);
932
+ c4_hi, c4_lo)
935
933
  const T1_lo = sum64_5_lo(
936
934
  c0_hi, c0_lo,
937
935
  c1_hi, c1_lo,
938
936
  c2_hi, c2_lo,
939
937
  c3_hi, c3_lo,
940
- c4_hi, c4_lo);
938
+ c4_hi, c4_lo)
941
939
 
942
- c0_hi = s0_512_hi(ah, al);
943
- c0_lo = s0_512_lo(ah, al);
944
- c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);
945
- c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);
940
+ c0_hi = s0_512_hi(ah, al)
941
+ c0_lo = s0_512_lo(ah, al)
942
+ c1_hi = maj64_hi(ah, al, bh, bl, ch, cl)
943
+ c1_lo = maj64_lo(ah, al, bh, bl, ch, cl)
946
944
 
947
- const T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);
948
- const T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);
945
+ const T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo)
946
+ const T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo)
949
947
 
950
- hh = gh;
951
- hl = gl;
948
+ hh = gh
949
+ hl = gl
952
950
 
953
- gh = fh;
954
- gl = fl;
951
+ gh = fh
952
+ gl = fl
955
953
 
956
- fh = eh;
957
- fl = el;
954
+ fh = eh
955
+ fl = el
958
956
 
959
- eh = sum64_hi(dh, dl, T1_hi, T1_lo);
960
- el = sum64_lo(dl, dl, T1_hi, T1_lo);
957
+ eh = sum64_hi(dh, dl, T1_hi, T1_lo)
958
+ el = sum64_lo(dl, dl, T1_hi, T1_lo)
961
959
 
962
- dh = ch;
963
- dl = cl;
960
+ dh = ch
961
+ dl = cl
964
962
 
965
- ch = bh;
966
- cl = bl;
963
+ ch = bh
964
+ cl = bl
967
965
 
968
- bh = ah;
969
- bl = al;
966
+ bh = ah
967
+ bl = al
970
968
 
971
- ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);
972
- al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);
969
+ ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo)
970
+ al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo)
973
971
  }
974
972
 
975
- sum64(this.h, 0, ah, al);
976
- sum64(this.h, 2, bh, bl);
977
- sum64(this.h, 4, ch, cl);
978
- sum64(this.h, 6, dh, dl);
979
- sum64(this.h, 8, eh, el);
980
- sum64(this.h, 10, fh, fl);
981
- sum64(this.h, 12, gh, gl);
982
- sum64(this.h, 14, hh, hl);
973
+ sum64(this.h, 0, ah, al)
974
+ sum64(this.h, 2, bh, bl)
975
+ sum64(this.h, 4, ch, cl)
976
+ sum64(this.h, 6, dh, dl)
977
+ sum64(this.h, 8, eh, el)
978
+ sum64(this.h, 10, fh, fl)
979
+ sum64(this.h, 12, gh, gl)
980
+ sum64(this.h, 14, hh, hl)
983
981
  }
984
982
 
985
- _digest() {
986
- return split32(this.h, 'big');
983
+ _digest () {
984
+ return split32(this.h, 'big')
987
985
  }
988
986
 
989
- _digestHex() {
990
- return toHex32(this.h, 'big');
987
+ _digestHex () {
988
+ return toHex32(this.h, 'big')
991
989
  }
992
990
  }
993
991
 
994
- function ch64_hi(xh, xl, yh, yl, zh, zl) {
995
- let r = (xh & yh) ^ ((~xh) & zh);
996
- if (r < 0)
997
- r += 0x100000000;
998
- return r;
992
+ function ch64_hi (xh, xl, yh, yl, zh, zl) {
993
+ let r = (xh & yh) ^ ((~xh) & zh)
994
+ if (r < 0) { r += 0x100000000 }
995
+ return r
999
996
  }
1000
997
 
1001
- function ch64_lo(xh, xl, yh, yl, zh, zl) {
1002
- let r = (xl & yl) ^ ((~xl) & zl);
1003
- if (r < 0)
1004
- r += 0x100000000;
1005
- return r;
998
+ function ch64_lo (xh, xl, yh, yl, zh, zl) {
999
+ let r = (xl & yl) ^ ((~xl) & zl)
1000
+ if (r < 0) { r += 0x100000000 }
1001
+ return r
1006
1002
  }
1007
1003
 
1008
- function maj64_hi(xh, xl, yh, yl, zh, zl) {
1009
- let r = (xh & yh) ^ (xh & zh) ^ (yh & zh);
1010
- if (r < 0)
1011
- r += 0x100000000;
1012
- return r;
1004
+ function maj64_hi (xh, xl, yh, yl, zh, zl) {
1005
+ let r = (xh & yh) ^ (xh & zh) ^ (yh & zh)
1006
+ if (r < 0) { r += 0x100000000 }
1007
+ return r
1013
1008
  }
1014
1009
 
1015
- function maj64_lo(xh, xl, yh, yl, zh, zl) {
1016
- let r = (xl & yl) ^ (xl & zl) ^ (yl & zl);
1017
- if (r < 0)
1018
- r += 0x100000000;
1019
- return r;
1010
+ function maj64_lo (xh, xl, yh, yl, zh, zl) {
1011
+ let r = (xl & yl) ^ (xl & zl) ^ (yl & zl)
1012
+ if (r < 0) { r += 0x100000000 }
1013
+ return r
1020
1014
  }
1021
1015
 
1022
- function s0_512_hi(xh, xl) {
1023
- const c0_hi = rotr64_hi(xh, xl, 28);
1024
- const c1_hi = rotr64_hi(xl, xh, 2); // 34
1025
- const c2_hi = rotr64_hi(xl, xh, 7); // 39
1016
+ function s0_512_hi (xh, xl) {
1017
+ const c0_hi = rotr64_hi(xh, xl, 28)
1018
+ const c1_hi = rotr64_hi(xl, xh, 2) // 34
1019
+ const c2_hi = rotr64_hi(xl, xh, 7) // 39
1026
1020
 
1027
- let r = c0_hi ^ c1_hi ^ c2_hi;
1028
- if (r < 0)
1029
- r += 0x100000000;
1030
- return r;
1021
+ let r = c0_hi ^ c1_hi ^ c2_hi
1022
+ if (r < 0) { r += 0x100000000 }
1023
+ return r
1031
1024
  }
1032
1025
 
1033
- function s0_512_lo(xh, xl) {
1034
- const c0_lo = rotr64_lo(xh, xl, 28);
1035
- const c1_lo = rotr64_lo(xl, xh, 2); // 34
1036
- const c2_lo = rotr64_lo(xl, xh, 7); // 39
1026
+ function s0_512_lo (xh, xl) {
1027
+ const c0_lo = rotr64_lo(xh, xl, 28)
1028
+ const c1_lo = rotr64_lo(xl, xh, 2) // 34
1029
+ const c2_lo = rotr64_lo(xl, xh, 7) // 39
1037
1030
 
1038
- let r = c0_lo ^ c1_lo ^ c2_lo;
1039
- if (r < 0)
1040
- r += 0x100000000;
1041
- return r;
1031
+ let r = c0_lo ^ c1_lo ^ c2_lo
1032
+ if (r < 0) { r += 0x100000000 }
1033
+ return r
1042
1034
  }
1043
1035
 
1044
- function s1_512_hi(xh, xl) {
1045
- const c0_hi = rotr64_hi(xh, xl, 14);
1046
- const c1_hi = rotr64_hi(xh, xl, 18);
1047
- const c2_hi = rotr64_hi(xl, xh, 9); // 41
1036
+ function s1_512_hi (xh, xl) {
1037
+ const c0_hi = rotr64_hi(xh, xl, 14)
1038
+ const c1_hi = rotr64_hi(xh, xl, 18)
1039
+ const c2_hi = rotr64_hi(xl, xh, 9) // 41
1048
1040
 
1049
- let r = c0_hi ^ c1_hi ^ c2_hi;
1050
- if (r < 0)
1051
- r += 0x100000000;
1052
- return r;
1041
+ let r = c0_hi ^ c1_hi ^ c2_hi
1042
+ if (r < 0) { r += 0x100000000 }
1043
+ return r
1053
1044
  }
1054
1045
 
1055
- function s1_512_lo(xh, xl) {
1056
- const c0_lo = rotr64_lo(xh, xl, 14);
1057
- const c1_lo = rotr64_lo(xh, xl, 18);
1058
- const c2_lo = rotr64_lo(xl, xh, 9); // 41
1046
+ function s1_512_lo (xh, xl) {
1047
+ const c0_lo = rotr64_lo(xh, xl, 14)
1048
+ const c1_lo = rotr64_lo(xh, xl, 18)
1049
+ const c2_lo = rotr64_lo(xl, xh, 9) // 41
1059
1050
 
1060
- let r = c0_lo ^ c1_lo ^ c2_lo;
1061
- if (r < 0)
1062
- r += 0x100000000;
1063
- return r;
1051
+ let r = c0_lo ^ c1_lo ^ c2_lo
1052
+ if (r < 0) { r += 0x100000000 }
1053
+ return r
1064
1054
  }
1065
1055
 
1066
- function g0_512_hi(xh, xl) {
1067
- const c0_hi = rotr64_hi(xh, xl, 1);
1068
- const c1_hi = rotr64_hi(xh, xl, 8);
1069
- const c2_hi = shr64_hi(xh, xl, 7);
1056
+ function g0_512_hi (xh, xl) {
1057
+ const c0_hi = rotr64_hi(xh, xl, 1)
1058
+ const c1_hi = rotr64_hi(xh, xl, 8)
1059
+ const c2_hi = shr64_hi(xh, xl, 7)
1070
1060
 
1071
- let r = c0_hi ^ c1_hi ^ c2_hi;
1072
- if (r < 0)
1073
- r += 0x100000000;
1074
- return r;
1061
+ let r = c0_hi ^ c1_hi ^ c2_hi
1062
+ if (r < 0) { r += 0x100000000 }
1063
+ return r
1075
1064
  }
1076
1065
 
1077
- function g0_512_lo(xh, xl) {
1078
- const c0_lo = rotr64_lo(xh, xl, 1);
1079
- const c1_lo = rotr64_lo(xh, xl, 8);
1080
- const c2_lo = shr64_lo(xh, xl, 7);
1066
+ function g0_512_lo (xh, xl) {
1067
+ const c0_lo = rotr64_lo(xh, xl, 1)
1068
+ const c1_lo = rotr64_lo(xh, xl, 8)
1069
+ const c2_lo = shr64_lo(xh, xl, 7)
1081
1070
 
1082
- let r = c0_lo ^ c1_lo ^ c2_lo;
1083
- if (r < 0)
1084
- r += 0x100000000;
1085
- return r;
1071
+ let r = c0_lo ^ c1_lo ^ c2_lo
1072
+ if (r < 0) { r += 0x100000000 }
1073
+ return r
1086
1074
  }
1087
1075
 
1088
- function g1_512_hi(xh, xl) {
1089
- const c0_hi = rotr64_hi(xh, xl, 19);
1090
- const c1_hi = rotr64_hi(xl, xh, 29); // 61
1091
- const c2_hi = shr64_hi(xh, xl, 6);
1076
+ function g1_512_hi (xh, xl) {
1077
+ const c0_hi = rotr64_hi(xh, xl, 19)
1078
+ const c1_hi = rotr64_hi(xl, xh, 29) // 61
1079
+ const c2_hi = shr64_hi(xh, xl, 6)
1092
1080
 
1093
- let r = c0_hi ^ c1_hi ^ c2_hi;
1094
- if (r < 0)
1095
- r += 0x100000000;
1096
- return r;
1081
+ let r = c0_hi ^ c1_hi ^ c2_hi
1082
+ if (r < 0) { r += 0x100000000 }
1083
+ return r
1097
1084
  }
1098
1085
 
1099
- function g1_512_lo(xh, xl) {
1100
- const c0_lo = rotr64_lo(xh, xl, 19);
1101
- const c1_lo = rotr64_lo(xl, xh, 29); // 61
1102
- const c2_lo = shr64_lo(xh, xl, 6);
1086
+ function g1_512_lo (xh, xl) {
1087
+ const c0_lo = rotr64_lo(xh, xl, 19)
1088
+ const c1_lo = rotr64_lo(xl, xh, 29) // 61
1089
+ const c2_lo = shr64_lo(xh, xl, 6)
1103
1090
 
1104
- let r = c0_lo ^ c1_lo ^ c2_lo;
1105
- if (r < 0)
1106
- r += 0x100000000;
1107
- return r;
1091
+ let r = c0_lo ^ c1_lo ^ c2_lo
1092
+ if (r < 0) { r += 0x100000000 }
1093
+ return r
1108
1094
  }
1109
1095
 
1110
1096
  /**
@@ -1138,11 +1124,11 @@ export class SHA256HMAC {
1138
1124
  * @example
1139
1125
  * const myHMAC = new SHA256HMAC('deadbeef');
1140
1126
  */
1141
- constructor(key: number[] | string) {
1127
+ constructor (key: number[] | string) {
1142
1128
  key = toArray(key, 'hex')
1143
1129
  // Shorten key, if needed
1144
1130
  if (key.length > this.blockSize) {
1145
- key = new SHA256().update(key).digest() as number[]
1131
+ key = new SHA256().update(key).digest()
1146
1132
  }
1147
1133
  assert(key.length <= this.blockSize)
1148
1134
 
@@ -1169,7 +1155,7 @@ export class SHA256HMAC {
1169
1155
  * @example
1170
1156
  * myHMAC.update('deadbeef', 'hex');
1171
1157
  */
1172
- update(msg: number[] | string, enc?: 'hex'): SHA256HMAC {
1158
+ update (msg: number[] | string, enc?: 'hex'): SHA256HMAC {
1173
1159
  this.inner.update(msg, enc)
1174
1160
  return this
1175
1161
  }
@@ -1183,7 +1169,7 @@ export class SHA256HMAC {
1183
1169
  * @example
1184
1170
  * let hashedMessage = myHMAC.digest();
1185
1171
  */
1186
- digest(): number[] {
1172
+ digest (): number[] {
1187
1173
  this.outer.update(this.inner.digest())
1188
1174
  return this.outer.digest()
1189
1175
  }
@@ -1197,7 +1183,7 @@ export class SHA256HMAC {
1197
1183
  * @example
1198
1184
  * let hashedMessage = myHMAC.digestHex();
1199
1185
  */
1200
- digestHex(): string {
1186
+ digestHex (): string {
1201
1187
  this.outer.update(this.inner.digest())
1202
1188
  return this.outer.digestHex()
1203
1189
  }
@@ -1234,11 +1220,11 @@ export class SHA512HMAC {
1234
1220
  * @example
1235
1221
  * const myHMAC = new SHA512HMAC('deadbeef');
1236
1222
  */
1237
- constructor(key: number[] | string) {
1223
+ constructor (key: number[] | string) {
1238
1224
  key = toArray(key, 'hex')
1239
1225
  // Shorten key, if needed
1240
1226
  if (key.length > this.blockSize) {
1241
- key = new SHA512().update(key).digest() as number[]
1227
+ key = new SHA512().update(key).digest()
1242
1228
  }
1243
1229
  assert(key.length <= this.blockSize)
1244
1230
 
@@ -1265,7 +1251,7 @@ export class SHA512HMAC {
1265
1251
  * @example
1266
1252
  * myHMAC.update('deadbeef', 'hex');
1267
1253
  */
1268
- update(msg: number[] | string, enc?: 'hex' | 'utf8'): SHA512HMAC {
1254
+ update (msg: number[] | string, enc?: 'hex' | 'utf8'): SHA512HMAC {
1269
1255
  this.inner.update(msg, enc)
1270
1256
  return this
1271
1257
  }
@@ -1279,8 +1265,8 @@ export class SHA512HMAC {
1279
1265
  * @example
1280
1266
  * let hashedMessage = myHMAC.digest();
1281
1267
  */
1282
- digest(): number[] {
1283
- this.outer.update(this.inner.digest() as number[])
1268
+ digest (): number[] {
1269
+ this.outer.update(this.inner.digest())
1284
1270
  return this.outer.digest()
1285
1271
  }
1286
1272
 
@@ -1293,11 +1279,10 @@ export class SHA512HMAC {
1293
1279
  * @example
1294
1280
  * let hashedMessage = myHMAC.digestHex();
1295
1281
  */
1296
- digestHex(): string {
1297
- this.outer.update(this.inner.digest() as number[])
1282
+ digestHex (): string {
1283
+ this.outer.update(this.inner.digest())
1298
1284
  return this.outer.digestHex()
1299
1285
  }
1300
-
1301
1286
  }
1302
1287
 
1303
1288
  /**
@@ -1438,7 +1423,7 @@ export const sha512hmac = (key: number[] | string, msg: number[] | string, enc?:
1438
1423
  *
1439
1424
  * @returns The computed key
1440
1425
  */
1441
- export function pbkdf2(password: number[], salt: number[], iterations: number, keylen: number, digest = 'sha512'): number[] {
1426
+ export function pbkdf2 (password: number[], salt: number[], iterations: number, keylen: number, digest = 'sha512'): number[] {
1442
1427
  if (digest !== 'sha512') {
1443
1428
  throw new Error('Only sha512 is supported in this PBKDF2 implementation')
1444
1429
  }
@@ -1451,16 +1436,16 @@ export function pbkdf2(password: number[], salt: number[], iterations: number, k
1451
1436
  const l = Math.ceil(keylen / hLen)
1452
1437
 
1453
1438
  for (let i = 1; i <= l; i++) {
1454
- block1[salt.length] = (i >> 24) & 0xFF; // MSB
1455
- block1[salt.length + 1] = (i >> 16) & 0xFF;
1456
- block1[salt.length + 2] = (i >> 8) & 0xFF;
1457
- block1[salt.length + 3] = i & 0xFF; // LSB
1439
+ block1[salt.length] = (i >> 24) & 0xFF // MSB
1440
+ block1[salt.length + 1] = (i >> 16) & 0xFF
1441
+ block1[salt.length + 2] = (i >> 8) & 0xFF
1442
+ block1[salt.length + 3] = i & 0xFF // LSB
1458
1443
 
1459
- const T = sha512hmac(password, block1) as number[]
1444
+ const T = sha512hmac(password, block1)
1460
1445
  let U = T
1461
1446
 
1462
1447
  for (let j = 1; j < iterations; j++) {
1463
- U = sha512hmac(password, U) as number[]
1448
+ U = sha512hmac(password, U)
1464
1449
  for (let k = 0; k < hLen; k++) T[k] ^= U[k]
1465
1450
  }
1466
1451