browserify-aes icon indicating copy to clipboard operation
browserify-aes copied to clipboard

RangeError in authCipher.js

Open linkdesu opened this issue 7 years ago • 4 comments

Hi, thanks for provide this package for aes support. When I try aes encrypt this error comes out, but it seems I can not fix it from outside.

Error message:

RangeError [ERR_OUT_OF_RANGE]: The value of "byteLength" is out of range. It must be >= 1 and <= 6. Received 8
            at boundsError (internal/buffer.js:55:9)
            at Buffer.writeUIntBE (internal/buffer.js:588:3)
            at webpack:///node_modules/browserify-aes/authCipher.js:37 <- index.js:7:174349
            at new u (webpack:///node_modules/browserify-aes/authCipher.js:52 <- index.js:7:174434)
            at Object.l (webpack:///node_modules/browserify-aes/encrypter.js:99 <- index.js:7:256315)
            at f (webpack:///node_modules/browserify-cipher/browser.js:45 <- index.js:7:245646)
            at Function.encrypt (webpack:///src/util/Crypto.js:82:34 <- index.js:7:237811)
            at Context.it (webpack:///test/unit/specs/util/Crypto.spec.js:8:30 <- index.js:7:232580)

Error code:

  ghash.update(Buffer.alloc(8, 0))
  var ivBits = len * 8
  var tail = Buffer.alloc(8)
  tail.writeUIntBE(ivBits, 0, 8) // <- here
  ghash.update(tail)

linkdesu avatar Dec 07 '18 08:12 linkdesu

this is actually fixed in #57

calvinmetcalf avatar Dec 07 '18 13:12 calvinmetcalf

THX a lot!

linkdesu avatar Dec 10 '18 13:12 linkdesu

The actual fix is

-  tail.writeUIntBE(ivBits, 0, 8)
+  tail.writeUIntBE(ivBits, 2, 6)

NB: this change works with node 4.8 and node 10.15 (because i tested both)

kapouer avatar Jan 06 '19 22:01 kapouer

That change never merged? Still getting this error.

ghost avatar Aug 19 '20 12:08 ghost