blake1.d.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import { Hash, type CHashO, type Input } from './utils.ts';
  2. /** Blake1 options. Basically just "salt" */
  3. export type BlakeOpts = {
  4. salt?: Uint8Array;
  5. };
  6. declare abstract class BLAKE1<T extends BLAKE1<T>> extends Hash<T> {
  7. protected finished: boolean;
  8. protected length: number;
  9. protected pos: number;
  10. protected destroyed: boolean;
  11. protected buffer: Uint8Array;
  12. protected view: DataView;
  13. protected salt: Uint32Array;
  14. abstract compress(view: DataView, offset: number, withLength?: boolean): void;
  15. protected abstract get(): number[];
  16. protected abstract set(...args: number[]): void;
  17. readonly blockLen: number;
  18. readonly outputLen: number;
  19. private lengthFlag;
  20. private counterLen;
  21. protected constants: Uint32Array;
  22. constructor(blockLen: number, outputLen: number, lengthFlag: number, counterLen: number, saltLen: number, constants: Uint32Array, opts?: BlakeOpts);
  23. update(data: Input): this;
  24. destroy(): void;
  25. _cloneInto(to?: T): T;
  26. clone(): T;
  27. digestInto(out: Uint8Array): void;
  28. digest(): Uint8Array;
  29. }
  30. declare class Blake1_32 extends BLAKE1<Blake1_32> {
  31. private v0;
  32. private v1;
  33. private v2;
  34. private v3;
  35. private v4;
  36. private v5;
  37. private v6;
  38. private v7;
  39. constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts);
  40. protected get(): [number, number, number, number, number, number, number, number];
  41. protected set(v0: number, v1: number, v2: number, v3: number, v4: number, v5: number, v6: number, v7: number): void;
  42. destroy(): void;
  43. compress(view: DataView, offset: number, withLength?: boolean): void;
  44. }
  45. declare class Blake1_64 extends BLAKE1<Blake1_64> {
  46. private v0l;
  47. private v0h;
  48. private v1l;
  49. private v1h;
  50. private v2l;
  51. private v2h;
  52. private v3l;
  53. private v3h;
  54. private v4l;
  55. private v4h;
  56. private v5l;
  57. private v5h;
  58. private v6l;
  59. private v6h;
  60. private v7l;
  61. private v7h;
  62. constructor(outputLen: number, IV: Uint32Array, lengthFlag: number, opts?: BlakeOpts);
  63. protected get(): [
  64. number,
  65. number,
  66. number,
  67. number,
  68. number,
  69. number,
  70. number,
  71. number,
  72. number,
  73. number,
  74. number,
  75. number,
  76. number,
  77. number,
  78. number,
  79. number
  80. ];
  81. 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;
  82. destroy(): void;
  83. compress(view: DataView, offset: number, withLength?: boolean): void;
  84. }
  85. export declare class BLAKE224 extends Blake1_32 {
  86. constructor(opts?: BlakeOpts);
  87. }
  88. export declare class BLAKE256 extends Blake1_32 {
  89. constructor(opts?: BlakeOpts);
  90. }
  91. export declare class BLAKE384 extends Blake1_64 {
  92. constructor(opts?: BlakeOpts);
  93. }
  94. export declare class BLAKE512 extends Blake1_64 {
  95. constructor(opts?: BlakeOpts);
  96. }
  97. /** blake1-224 hash function */
  98. export declare const blake224: CHashO;
  99. /** blake1-256 hash function */
  100. export declare const blake256: CHashO;
  101. /** blake1-384 hash function */
  102. export declare const blake384: CHashO;
  103. /** blake1-512 hash function */
  104. export declare const blake512: CHashO;
  105. export {};
  106. //# sourceMappingURL=blake1.d.ts.map