_md.d.ts 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import { Hash, Input } from './utils.js';
  2. export declare const Chi: (a: number, b: number, c: number) => number;
  3. export declare const Maj: (a: number, b: number, c: number) => number;
  4. /**
  5. * Merkle-Damgard hash construction base class.
  6. * Could be used to create MD5, RIPEMD, SHA1, SHA2.
  7. */
  8. export declare abstract class HashMD<T extends HashMD<T>> extends Hash<T> {
  9. readonly blockLen: number;
  10. outputLen: number;
  11. readonly padOffset: number;
  12. readonly isLE: boolean;
  13. protected abstract process(buf: DataView, offset: number): void;
  14. protected abstract get(): number[];
  15. protected abstract set(...args: number[]): void;
  16. abstract destroy(): void;
  17. protected abstract roundClean(): void;
  18. protected buffer: Uint8Array;
  19. protected view: DataView;
  20. protected finished: boolean;
  21. protected length: number;
  22. protected pos: number;
  23. protected destroyed: boolean;
  24. constructor(blockLen: number, outputLen: number, padOffset: number, isLE: boolean);
  25. update(data: Input): this;
  26. digestInto(out: Uint8Array): void;
  27. digest(): Uint8Array;
  28. _cloneInto(to?: T): T;
  29. }
  30. //# sourceMappingURL=_md.d.ts.map