constructor()

in packages/sha256-js/src/jsSha256.ts [11:31]


  constructor(secret?: SourceData) {
    if (secret) {
      this.outer = new RawSha256();
      const inner = bufferFromSecret(secret);
      const outer = new Uint8Array(BLOCK_SIZE);
      outer.set(inner);

      for (let i = 0; i < BLOCK_SIZE; i++) {
        inner[i] ^= 0x36;
        outer[i] ^= 0x5c;
      }

      this.hash.update(inner);
      this.outer.update(outer);

      // overwrite the copied key in memory
      for (let i = 0; i < inner.byteLength; i++) {
        inner[i] = 0;
      }
    }
  }