在不将文件存储在数据库中的情况下,比较文件哈希的最简单方法是什么?
例如:
var filename = __dirname + '/../public/index.html';
var shasum = crypto.createHash('sha1');
var s = fs.ReadStream(filename);
s.on('data', function(d) {
shasum.update(d);
});
s.on('end', function() {
var d = shasum.digest('hex');
console.log(d + ' ' + filename);
fs.writeFile(__dirname + "/../public/log.txt", d.toString() + '\n', function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
});
上面的代码返回 HTML 文件的哈希值。如果我编辑文件,我如何知道它是否已更改?换句话说,我如何知道哈希是否已更改?
有什么建议么?
已编辑
现在哈希被保存在日志文件中。如何从文件中检索哈希并将其与新生成的哈希匹配?一个代码示例会让我更好地理解。
这个问题没有区别,但我还不清楚如何实现它。