HMAC backed by BLAKE2b
npm install hmac-blake2bhmac-blake2b
> HMAC based on BLAKE2b
Even though BLAKE2b is designed to also work as a MAC, specifications like
Noise call for
a HMAC.
``js
const { randombytes_buf } = require('sodium-universal/randombytes')
const hmac = require('.')
const mac = Buffer.alloc(hmac.BYTES)
const key = Buffer.alloc(hmac.KEYBYTES)
randombytes_buf(key)
const data = Buffer.from('some data')
hmac(mac, data, key)
`
Size of the output MAC in bytes
RFC2104 recommended size of the key in
bytes.
Computes a HMAC from data with key and writes it into out.
* out must be a Buffer or Uint8Array of length hmac.BYTESdata
* must be a Buffer, Uint8Array or Array of Buffers orUint8Array
s.key
* must be a Buffer or Uint8Array. Per the HMAC spec key can be asNUL
small as 1 byte, in which case it is right-padded with bytes, or anyhmac.KEYBYTES
size larger than in which case it is hashed down to fit. Thehmac.KEYBYTES
recommended size by the spec is
`sh``
npm install hmac-blake2b