UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

81 lines (80 loc) 3.04 kB
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */ import type { IHash } from '../interfaces/IHash.js'; import { U64 } from '../../primitive/number/U64.js'; declare class Blake2_32bit implements IHash { #private; private readonly params; get size(): number; readonly blockSize: number; private _ingestBytes; private _bPos; constructor(key: Uint8Array, params: Uint8Array); get keyLen(): number; get fanOut(): number; get maxDepth(): number; get leafLen(): number; get nodeOffset(): U64; get nodeDepth(): number; get innerLen(): number; get salt(): Uint8Array; get personalization(): Uint8Array; private mix; private hash; write(data: Uint8Array): void; sum(): Uint8Array; sumIn(): Uint8Array; reset(): void; newEmpty(): IHash; clone(): IHash; } declare class Blake2_64bit implements IHash { #private; private readonly params; private readonly p32; get size(): number; readonly blockSize: number; private _ingestBytes; private _bPos; constructor(key: Uint8Array, params: Uint8Array); get keyLen(): number; get fanOut(): number; get maxDepth(): number; get leafLen(): number; get nodeOffset(): U64; get nodeDepth(): number; get innerLen(): number; get salt(): Uint8Array; get personalization(): Uint8Array; private mix; private hash; write(data: Uint8Array): void; sum(): Uint8Array; sumIn(): Uint8Array; reset(): void; newEmpty(): IHash; clone(): IHash; } export declare class Blake2s extends Blake2_32bit { constructor(digestSize: number, fanOut: number, maxDepth: number, leafMaxLen: number, nodeOffset: U64, nodeDepth: number, innerHashLen: number, key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); static Sequential(digestSizeBytes: number, key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array): Blake2s; } export declare class Blake2b extends Blake2_64bit { constructor(digestSize: number, fanOut: number, maxDepth: number, leafMaxLen: number, nodeOffset: U64, nodeDepth: number, innerHashLen: number, key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); static Sequential(digestSizeBytes: number, key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array): Blake2b; } export declare class Blake2s_224 extends Blake2s { constructor(key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); } export declare class Blake2s_256 extends Blake2s { constructor(key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); } export declare class Blake2b_256 extends Blake2b { constructor(key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); } export declare class Blake2b_384 extends Blake2b { constructor(key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); } export declare class Blake2b_512 extends Blake2b { constructor(key?: Uint8Array, salt?: Uint8Array, personalization?: Uint8Array); } export {};