Détail du package

@panva/hkdf

panva6.7mMIT1.2.1

HKDF with no dependencies using runtime's native crypto

browser, cloudflare, deno, electron

readme

hkdf

HKDF with no dependencies using runtime's native crypto

HKDF is a simple key derivation function defined in RFC 5869.

Documentation

hkdf(digest, ikm, salt, info, keylen): Promise<Uint8Array>

The given ikm, salt and info are used with the digest to derive a key of keylen bytes.

Parameters

Name Type Description
digest "sha256" \ "sha384" \ "sha512" \ "sha1" The digest algorithm to use.
ikm Uint8Array \ string The input keying material. It must be at least one byte in length.
salt Uint8Array \ string The salt value. Must be provided but can be zero-length.
info Uint8Array \ string Additional info value. Must be provided but can be zero-length, and cannot be more than 1024 bytes.
keylen number The length in bytes of the key to generate. Must be greater than 0 and no more than 255 times the digest size.

Returns

Promise<Uint8Array>

Example

example ESM import

import hkdf from '@panva/hkdf'

example CJS import

const { hkdf } = require('@panva/hkdf')

example Deno import

import hkdf from 'https://deno.land/x/hkdf/index.ts'

example Usage

const derivedKey = await hkdf(
  'sha256',
  'key',
  'salt',
  'info',
  64
)

Supported Runtimes

The supported JavaScript runtimes include ones that

  • are reasonably up to date ECMAScript
  • support the utilized Web API globals and standard built-in objects
  • These are
    • (This is not an exhaustive list)
    • Browsers
    • Cloudflare Workers
    • Deno
    • Electron
    • Netlify Edge Functions
    • Next.js Middlewares
    • Node.js
    • Vercel Edge Functions

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.2.1 (2024-07-03)

Bug Fixes

  • add sideEffects:false to nested ESM package.json files (1b27cb5)

1.2.0 (2024-06-18)

Features

  • add bun, deno, and workerd package.json targets (d8a424c)

1.1.1 (2023-04-26)

Bug Fixes

  • remove deno/README.md from published tarball (5ab56e9)

1.1.0 (2023-04-26)

Features

  • release process with provenance (0ca439c)

1.0.4 (2023-02-16)

Bug Fixes

  • build: add test tag trigger (8b127ad)

1.0.3 (2023-02-16)

Bug Fixes

1.0.2 (2022-05-02)

Bug Fixes

  • typescript: add types export for nodenext module resolution (d923bb5)

1.0.1 (2021-10-29)

Bug Fixes

  • validate maximum keylen (28275f1)

1.0.0 (2021-10-29)

Features

  • universal HKDF as per RFC 5869 (47d44b6)