| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- import { Hash, type CHashO, type Input } from './utils.ts';
- /** Blake hash options. dkLen is output length. key is used in MAC mode. salt is used in KDF mode. */
- export type Blake2Opts = {
- dkLen?: number;
- key?: Input;
- salt?: Input;
- personalization?: Input;
- };
- /** Class, from which others are subclassed. */
- export declare abstract class BLAKE2<T extends BLAKE2<T>> extends Hash<T> {
- protected abstract compress(msg: Uint32Array, offset: number, isLast: boolean): void;
- protected abstract get(): number[];
- protected abstract set(...args: number[]): void;
- abstract destroy(): void;
- protected buffer: Uint8Array;
- protected buffer32: Uint32Array;
- protected finished: boolean;
- protected destroyed: boolean;
- protected length: number;
- protected pos: number;
- readonly blockLen: number;
- readonly outputLen: number;
- constructor(blockLen: number, outputLen: number);
- update(data: Input): this;
- digestInto(out: Uint8Array): void;
- digest(): Uint8Array;
- _cloneInto(to?: T): T;
- clone(): T;
- }
- export declare class BLAKE2b extends BLAKE2<BLAKE2b> {
- 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(opts?: Blake2Opts);
- 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;
- protected compress(msg: Uint32Array, offset: number, isLast: boolean): void;
- destroy(): void;
- }
- /**
- * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS.
- * @param msg - message that would be hashed
- * @param opts - dkLen output length, key for MAC mode, salt, personalization
- */
- export declare const blake2b: CHashO;
- export type Num16 = {
- v0: number;
- v1: number;
- v2: number;
- v3: number;
- v4: number;
- v5: number;
- v6: number;
- v7: number;
- v8: number;
- v9: number;
- v10: number;
- v11: number;
- v12: number;
- v13: number;
- v14: number;
- v15: number;
- };
- export declare function compress(s: Uint8Array, offset: number, msg: Uint32Array, rounds: number, v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number, v8: number, v9: number, v10: number, v11: number, v12: number, v13: number, v14: number, v15: number): Num16;
- export declare class BLAKE2s extends BLAKE2<BLAKE2s> {
- private v0;
- private v1;
- private v2;
- private v3;
- private v4;
- private v5;
- private v6;
- private v7;
- constructor(opts?: Blake2Opts);
- 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;
- protected compress(msg: Uint32Array, offset: number, isLast: boolean): void;
- destroy(): void;
- }
- /**
- * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS.
- * @param msg - message that would be hashed
- * @param opts - dkLen output length, key for MAC mode, salt, personalization
- */
- export declare const blake2s: CHashO;
- //# sourceMappingURL=blake2.d.ts.map
|