Я немного новичок в крипто-модуле в Node.Я написал функцию шифрования, которая прекрасно работает, но выглядит ужасно.Это лучший способ записать это?
const encrypt = data => {
const iv = crypto.randomBytes(16);
const key = crypto.randomBytes(32).toString('hex').slice(0, 32);
const cipher1 = crypto.createCipheriv(algorithm, new Buffer(key), iv);
const cipher2 = crypto.createCipheriv(algorithm, new Buffer(key), iv);
const cipher3 = crypto.createCipheriv(algorithm, new Buffer(key), iv);
const encryptedFile = Buffer.concat([cipher1.update(data.file), cipher1.final()]);
const encryptedFileName = Buffer.concat([cipher2.update(data.fileName), cipher2.final()]).toString('hex');
const encryptedId = Buffer.concat([cipher3.update(data.Id), cipher3.final()]).toString('hex');
return {
file: encryptedFile,
fileName: encryptedFileName,
id: iv.toString('hex') + ':' + encryptedId.toString('hex'),
key
};
};
Ввод является объектом этой структуры:
{
file: <Buffer>,
fileName: <String>,
Id: <String>
}
Мне нужно зашифровать все значения одним и тем же ключом + iv,но не весь объект сразу.Есть ли способ реорганизовать это, чтобы избежать дублирования?