UNPKG

gnablib

Version:

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

61 lines (60 loc) 1.58 kB
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */ import type { IHash } from '../interfaces/IHash.js'; import { U64MutArray } from '../../primitive/number/U64.js'; type iv32 = (state: Uint32Array) => void; type iv64 = (state: U64MutArray) => void; declare class Sha2_32bit implements IHash { #private; readonly size: number; readonly blockSize = 64; private _ingestBytes; private _bPos; constructor(digestSize: number, iv: iv32); private hash; write(data: Uint8Array): void; sum(): Uint8Array; sumIn(): Uint8Array; reset(): void; newEmpty(): IHash; clone(): IHash; } declare class Sha2_64bit implements IHash { #private; readonly size: number; readonly blockSize = 128; private _ingestBytes; private _bPos; constructor(digestSize: number, iv: iv64); private hash; write(data: Uint8Array): void; sum(): Uint8Array; sumIn(): Uint8Array; reset(): void; newEmpty(): IHash; clone(): IHash; } export declare class Sha224 extends Sha2_32bit { constructor(); private static iv; } export declare class Sha256 extends Sha2_32bit { constructor(); private static iv; } export declare class Sha384 extends Sha2_64bit { constructor(); private static iv; } export declare class Sha512 extends Sha2_64bit { constructor(); private static iv; } export declare class Sha512_224 extends Sha2_64bit { constructor(); private static iv; } export declare class Sha512_256 extends Sha2_64bit { constructor(); private static iv; } export {};