UNPKG

blake3-wasm

Version:

BLAKE3 hashing for JavaScript: WebAssembly bindings only

37 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.keyedHash = exports.deriveKey = exports.hash = void 0; const blake3_internal_1 = require("@c4312/blake3-internal"); const hash_instance_1 = require("./hash-instance"); /** * Returns a blake3 hash of the input. */ function hash(input, { length = blake3_internal_1.defaultHashLength } = {}) { return Buffer.from((0, blake3_internal_1.hashOneShot)((0, blake3_internal_1.inputToArray)(input), length)); } exports.hash = hash; /** * 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. */ function deriveKey(context, material, { length = blake3_internal_1.defaultHashLength } = {}) { const derive = (0, hash_instance_1.createDeriveKey)(context); derive.update((0, blake3_internal_1.inputToArray)(material)); const digest = derive.digest({ length }); derive.dispose(); return digest; } exports.deriveKey = deriveKey; /** * The keyed hash function. See {@link https://docs.rs/blake3/0.1.3/blake3/fn.keyed_hash.html}. */ function keyedHash(key, input, { length = blake3_internal_1.defaultHashLength } = {}) { const keyed = (0, hash_instance_1.createKeyed)(key); keyed.update((0, blake3_internal_1.inputToArray)(input)); const digest = keyed.digest({ length }); keyed.dispose(); return digest; } exports.keyedHash = keyedHash; //# sourceMappingURL=hash-fn.js.map