Я хочу защитить содержимое последовательного файла, используя хеш-значение sha256.
Поскольку файл должен быть расширен во время выполнения, вычисление хеша требуется для каждого добавления / расширения.
Я хотел бы иметь постоянный хеш-объект, который обновляется только добавленными данными и позволяет получать промежуточные результаты.
Поскольку реализация должна выполняться в nodejs, код javascript может выглядеть следующим образом:
const fs = require('fs'), crypto = require('crypto')
var hashPerp = crypto.createHash('sha256')
var data = 'record 1'
fs.writeFileSync('mylist.dat', data)
hashPerp.update(data)
var hashInter = CLONE(hashPerp)
console.log(hashInter.digest('base64'))
data = 'record 2'
fs.appendFileSync('mylist.dat', data)
hashPerp.update(data)
hashInter = CLONE(hashPerp)
console.log(hashInter.digest('base64'))
...
Я не нашел подходящей объектной функции CLONE (), и клонирование хеш-объекта с его внутренними буферами также может быть не единственным способом решения проблемы.
Есть предложения?