HMAC utility
npm install sodium-hmacHMAC utility
``js
const { HMAC, sha256 } = require('sodium-hmac')
const hmac = new HMAC(sha256)
hmac.init(Buffer.from('key'))
.update(Buffer.from('some'))
.update(Buffer.from('more'))
.update(Buffer.from('data'))
const output = hmac.final()
// or use simple api
const same = HMAC.sha256(b4a.from('somemoredata'), key)
`
#### const hmac = new HMAC(hash, [key])
Returns a HMAC object using the given hash function. If key is provided, init will be called in the constructror
Expects hash to be an object with:init
- update
- final
- BYTES
- STATEBYTES
-
sha256 and sha512 are exported by default.
Returned API:
- initupdate
- final
- simple
- BYTES
- STATEBYTES
-
Example usage:
`js
const blake2b = {
init: sodium.crypto_generichash_init,
update: sodium.crypto_generichash_update,
final: sodium.crypto_generichash_final,
BYTES: sodium.crypto_generichash_BYTES,
STATEBYTES: sodium.crypto_generichash_STATEBYTES
}
const hmac = new HMAC(blake2b)
`
Hash data into the HMAC. hmac.init() must be called prior to updating
Finlise the HMAC. The result will be written to buffer if present
Produce an HMAC-SHA256 over data with key
Produce an HMAC-SHA512 over data with key`
Exports an HMAC-compatible SHA256 API.
Exports an HMAC-compatible SHA512 API.
Apache-2.0