Nodejs, Crypto: шифрование нескольких строк с использованием одного и того же шифра
Я пытаюсь зашифровать несколько строк, используя один и тот же шифр с кодом
var iv = _crypto.randomBytes(16).slice(0, 12);
var salt = _crypto.randomBytes(64);
var key = _crypto.pbkdf2Sync(symmetricKey, salt, 2145, 32, 'sha512');
var cipher = _crypto.createCipheriv('aes-256-gcm', key,iv);
var a = Buffer.concat([cipher.update("data1", 'utf8'), cipher.final()]);
var b = Buffer.concat([salt, iv, a]).toString('base64');
var c = Buffer.concat([cipher.update("data2", 'utf8'), cipher.final()]);
Выполнение не удалось в последней строке, без каких-либо ошибок. "Ошибка типа: ошибка:00000000:lib(0):func(0): причина (0)"
В ходе дальнейших исследований я узнал, что мы не можем использовать шифр, как только мы выполнили cipher.final(). Но если я не буду делать это раньше (во время шифрования данных1), во время расшифровки "зашифрованного формата данных1", это не получится, поскольку cipher.final возвращает все оставшееся зашифрованное содержимое, к которому добавляется исходная зашифрованная строка.
Каков наилучший способ шифрования нескольких строк, или я должен создать отдельные шифры для всех строк?