UNPKG

blake3-wasm

Version:

BLAKE3 hashing for JavaScript: WebAssembly bindings only

31 lines 1.17 kB
import { defaultHashLength, hashOneShot, inputToArray, } from '@c4312/blake3-internal'; import { createDeriveKey, createKeyed } from './hash-instance'; /** * Returns a blake3 hash of the input. */ export function hash(input, { length = defaultHashLength } = {}) { return Buffer.from(hashOneShot(inputToArray(input), length)); } /** * Given cryptographic key material and a context string, services a subkey of * any length. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.derive_key.html} * for more information. */ export function deriveKey(context, material, { length = defaultHashLength } = {}) { const derive = createDeriveKey(context); derive.update(inputToArray(material)); const digest = derive.digest({ length }); derive.dispose(); return digest; } /** * The keyed hash function. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.keyed_hash.html}. */ export function keyedHash(key, input, { length = defaultHashLength } = {}) { const keyed = createKeyed(key); keyed.update(inputToArray(input)); const digest = keyed.digest({ length }); keyed.dispose(); return digest; } //# sourceMappingURL=hash-fn.js.map