Language: TypeScript
Label: safe
CWE: CWE-331 \u2014 Insufficient Entropy
The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.

Code:
  encrypt(data: ArrayBuffer | string) {
    const encrypted = this.defaultCryptor.encrypt(data);
    if (!encrypted.metadata) return encrypted.data;

    const header = CryptorHeader.from(this.defaultCryptor.identifier, encrypted.metadata);

    const headerData = new Uint8Array(header!.length);
    let pos = 0;
    headerData.set(header!.data, pos);
    pos = header!.length - encrypted.metadata.length;
    headerData.set(encrypted.metadata, pos);
    return Buffer.concat([headerData, Buffer.from(encrypted.data)]);
  }