@ssv-embedded/ssb-blake2s
v1.0.0
Published
SSV/SSB Blake2s
Downloads
6
Readme
@ssv-embedded/ssb-blake2s
This module checks HMAC of assembled SSV/SSB packages with Blake2s hash function.
API
Create instance
const createBlake2sCheck = require('@ssv-embedded/ssb-blake2s');
const blake2s = createBlake2sCheck(opts);
opts
is an object for providing optional dependencies:
hmacLen
: HMAC length in bytes from typeNumber
. Default:6
.key
: HMAC key from typeBuffer
.
Check packages
const payload = blake2s.handle(packet);
packet
: SSV/SSB packet from type Buffer
Return: Data payload of handled packet of type Buffer
if the HMAC is valid. It will throw en Error
if the HMAC is invalid.
Example:
const createBlake2sCheck = require('@ssv-embedded/ssb-blake2s');
const hmacLen = 6;
const key = Buffer.from('SuperSecretKey');
const blake2s = createBlake2sCheck({hmacLen, key});
// <---HEADER----><---------------PAYLOAD-----------><---HMAC--->
// <-------------protected by HMAC------------------>
const packet = Buffer.from('5900401048020004847b14924104885464c742048c00163c42dfb2df1187d4', 'hex');
try {
const payload = blake2s.handle(packet);
console.log(payload.toString('hex'));
} catch (err) {
console.log(err)
}