gnablib
Version:
A lean, zero dependency library to provide a useful base for your project.
51 lines (50 loc) • 1.41 kB
TypeScript
/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */
import { U64MutArray } from '../../primitive/number/U64.js';
import type { IHash } from '../interfaces/IHash.js';
declare class Blake1_32bit implements IHash {
#private;
readonly size: number;
readonly blockSize: number;
private readonly _nr;
private _ingestBytes;
private _bPos;
constructor(salt?: Uint32Array, roundCount?: number);
private g;
private hash;
write(data: Uint8Array): void;
sum(): Uint8Array;
sumIn(): Uint8Array;
reset(): void;
newEmpty(): IHash;
clone(): IHash;
}
declare class Blake1_64bit implements IHash {
#private;
readonly size: number;
readonly blockSize: number;
private readonly _nr;
private _ingestBytes;
private _bPos;
constructor(salt?: U64MutArray, roundCount?: number);
private g;
private hash;
write(data: Uint8Array): void;
sum(): Uint8Array;
sumIn(): Uint8Array;
reset(): void;
newEmpty(): IHash;
clone(): IHash;
}
export declare class Blake32 extends Blake1_32bit {
constructor(salt?: Uint32Array);
}
export declare class Blake256 extends Blake1_32bit {
constructor(salt?: Uint32Array);
}
export declare class Blake64 extends Blake1_64bit {
constructor(salt?: U64MutArray);
}
export declare class Blake512 extends Blake1_64bit {
constructor(salt?: U64MutArray);
}
export {};