HKDF is a simple key derivation function defined in RFC 5869. The given ikm
, salt
and info
are used with the digest
to derive a key of keylen
bytes.
The supplied callback
function is called with two arguments: err
and derivedKey
. If an errors occurs while deriving the key, err
will be set; otherwise err
will be null
. The successfully generated derivedKey
will be passed to the callback as an ArrayBuffer. An error will be thrown if any of the input arguments specify invalid values or types.
import { Buffer } from 'node:buffer';
const {
hkdf,
} = await import('node:crypto');
hkdf('sha512', 'key', 'salt', 'info', 64, (err, derivedKey) => {
if (err) throw err;
console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653'
});