INNER CODE UNIT · TypeScript
out
paulmillr/noble-ciphers · benchmark/thirdparty/index.ts:82
const out = new Uint8Array(buf.length + left);
let prev = opts.iv.slice();
let b = buf,
o = out;
while (b.length) {
for (let i = 0; i < c.blockSize; i++) prev[i] ^= b[i];
if (b.length < c.blockSize) break;
c.encryptBlock(prev, prev);
o.set(prev, 0);
b = b.subarray(c.blockSize);
o = o.subarray(c.blockSize);
}
// pcks7 padding
for (let i = c.blockSize - left; i < c.blockSize; i++) prev[i] ^= left;
c.encryptBlock(prev, o);
return out;
},
decrypt: (buf, opts) => {