UNPKG

@zlattice/lattice-js

Version:

Lattice blockchain TypeScript SDK with dual module support (CJS + ESM)

60 lines 1.72 kB
import { Hash, Input } from "../../crypto/sm3/utils.js"; /** * 循环左移 */ export declare function rotl(x: number, n: number): number; export declare abstract class SHA2<T extends SHA2<T>> extends Hash<T> { readonly blockLen: number; outputLen: number; readonly padOffset: number; readonly isLE: boolean; protected abstract process(buf: DataView, offset: number): void; protected abstract get(): number[]; protected abstract set(...args: number[]): void; abstract destroy(): void; protected abstract roundClean(): void; protected buffer: Uint8Array; protected view: DataView; protected finished: boolean; protected length: number; protected pos: number; protected destroyed: boolean; constructor(blockLen: number, outputLen: number, padOffset: number, isLE: boolean); update(data: Input): this; digestInto(out: Uint8Array): void; digest(): Uint8Array<ArrayBuffer>; _cloneInto(to?: T): T; } declare class SM3 extends SHA2<SM3> { A: number; B: number; C: number; D: number; E: number; F: number; G: number; H: number; constructor(); protected get(): [ number, number, number, number, number, number, number, number ]; protected set(A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number): void; protected process(view: DataView, offset: number): void; protected roundClean(): void; destroy(): void; } export declare const sm3: { (msg: Input): Uint8Array; outputLen: number; blockLen: number; create(): Hash<SM3>; }; export {}; //# sourceMappingURL=sm3.d.ts.map