UNPKG

@noble/hashes

Version:

Audited & minimal 0-dependency JS implementation of SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt

126 lines 3.95 kB
import { Hash, type Input } from './utils.js'; /** Blake1 options. Basically just "salt" */ export type BlakeOpts = { salt?: Input; }; declare abstract class Blake1<T extends Blake1<T>> extends Hash<T> { readonly blockLen: number; readonly outputLen: number; private lengthFlag; private counterLen; protected constants: Uint32Array; protected finished: boolean; protected length: number; protected pos: number; protected destroyed: boolean; protected buffer: Uint8Array; protected view: DataView; protected salt: Uint32Array; abstract compress(view: DataView, offset: number, withLength?: boolean): void; protected abstract get(): number[]; protected abstract set(...args: number[]): void; constructor(blockLen: number, outputLen: number, lengthFlag: number, counterLen: number, saltLen: number, constants: Uint32Array, opts?: BlakeOpts); update(data: Input): this; destroy(): void; _cloneInto(to?: T): T; digestInto(out: Uint8Array): void; digest(): Uint8Array; } declare class Blake1_32 extends Blake1<Blake1_32> { private v0; private v1; private v2; private v3; private v4; private v5; private v6; private v7; constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts); protected get(): [number, number, number, number, number, number, number, number]; protected set(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number): void; destroy(): void; compress(view: DataView, offset: number, withLength?: boolean): void; } declare class Blake1_64 extends Blake1<Blake1_64> { outputLen: number; private v0l; private v0h; private v1l; private v1h; private v2l; private v2h; private v3l; private v3h; private v4l; private v4h; private v5l; private v5h; private v6l; private v6h; private v7l; private v7h; constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts); protected get(): [ number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number ]; protected set(v0l: number, v0h: number, v1l: number, v1h: number, v2l: number, v2h: number, v3l: number, v3h: number, v4l: number, v4h: number, v5l: number, v5h: number, v6l: number, v6h: number, v7l: number, v7h: number): void; destroy(): void; compress(view: DataView, offset: number, withLength?: boolean): void; } export declare class Blake224 extends Blake1_32 { constructor(opts?: BlakeOpts); } export declare class Blake256 extends Blake1_32 { constructor(opts?: BlakeOpts); } export declare class Blake512 extends Blake1_64 { constructor(opts?: BlakeOpts); } export declare class Blake384 extends Blake1_64 { constructor(opts?: BlakeOpts); } /** blake1-224 hash function */ export declare const blake224: { (msg: Input, opts?: BlakeOpts | undefined): Uint8Array; outputLen: number; blockLen: number; create(opts: BlakeOpts): Hash<Blake224>; }; /** blake1-256 hash function */ export declare const blake256: { (msg: Input, opts?: BlakeOpts | undefined): Uint8Array; outputLen: number; blockLen: number; create(opts: BlakeOpts): Hash<Blake256>; }; /** blake1-384 hash function */ export declare const blake384: { (msg: Input, opts?: BlakeOpts | undefined): Uint8Array; outputLen: number; blockLen: number; create(opts: BlakeOpts): Hash<Blake512>; }; /** blake1-512 hash function */ export declare const blake512: { (msg: Input, opts?: BlakeOpts | undefined): Uint8Array; outputLen: number; blockLen: number; create(opts: BlakeOpts): Hash<Blake512>; }; export {}; //# sourceMappingURL=blake1.d.ts.map