1234567891011121314151617181920212223242526 |
- import native from './native.js';
- import { NodeHash } from '../node/hash-instance.js';
- import { NodeHashReader } from '../node/hash-reader.js';
- // A buffer we reuse for sending bigints. set_position is synchronous, so
- // this just saves creating garbage.
- const bigIntBuffer = Buffer.alloc(8);
- const readerFactory = (r) => new NodeHashReader({
- fill: target => r.fill(target),
- set_position: position => {
- bigIntBuffer.writeBigUInt64BE(position);
- r.set_position(bigIntBuffer);
- },
- });
- /**
- * A Node.js crypto-like createHash method.
- */
- export const createHash = () => new NodeHash(new native.Hasher(), readerFactory);
- /**
- * Construct a new Hasher for the keyed hash function.
- */
- export const createKeyed = (key) => new NodeHash(new native.Hasher(key), readerFactory);
- /**
- * Construct a new Hasher for the key derivation function.
- */
- export const createDeriveKey = (context) => new NodeHash(new native.Hasher(undefined, context), readerFactory);
- //# sourceMappingURL=hash-instance.js.map
|