2021-05-08 22:41:22 +03:00

18 lines
412 B
JavaScript

const crypto = require('./crypto');
class CTR {
constructor(key, iv) {
if (!Buffer.isBuffer(key) || !Buffer.isBuffer(iv) || iv.length !== 16) {
throw new Error('Key and iv need to be a buffer');
}
this.cipher = crypto.createCipheriv('AES-256-CTR', key, iv);
}
encrypt(data) {
return Buffer.from(this.cipher.update(data));
}
}
module.exports = CTR;