Skip to main content
hkdfSync - node__crypto.d.ts - Node documentation
function hkdfSync

Usage in Deno

```typescript import { hkdfSync } from "node:node__crypto.d.ts"; ```
hkdfSync(
digest: string,
salt: BinaryLike,
info: BinaryLike,
keylen: number,
): ArrayBuffer
Provides a synchronous HKDF key derivation function as defined in RFC 5869\. The given `ikm`, `salt` and `info` are used with the `digest` to derive a key of `keylen` bytes. The successfully generated `derivedKey` will be returned as an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). An error will be thrown if any of the input arguments specify invalid values or types, or if the derived key cannot be generated. ```js import { Buffer } from 'node:buffer'; const { hkdfSync, } = await import('node:crypto'); const derivedKey = hkdfSync('sha512', 'key', 'salt', 'info', 64); console.log(Buffer.from(derivedKey).toString('hex')); // '24156e2...5391653' ```

Parameters

digest: string
The digest algorithm to use.
The input keying material. Must be provided but can be zero-length.
The salt value. Must be provided but can be zero-length.
Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes.
keylen: number
The length of the key to generate. Must be greater than 0. The maximum allowable value is `255` times the number of bytes produced by the selected digest function (e.g. `sha512` generates 64-byte hashes, making the maximum HKDF output 16320 bytes).

Return Type

ArrayBuffer