我正在使用 Node.js 为文件生成哈希值,然后当文件发生更改时,我想在保存之前将其与之前的版本进行匹配。例如,如果没有发生任何更改,则不会进行保存。
我尝试使用以下代码来完成任务(受到 doc of Node.js 的启发):
var filename = __dirname + '/public/team.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);
});
我想知道如何保存文件的哈希值以便以后进行匹配。任何想法都非常受欢迎。
最佳答案
简单的解决方案:只需将其写入一个文件(您要保存的每个文件一个附加信息文件)。
一种更复杂的解决方案:保留一个包含所有哈希值的文件,例如对(路径,哈希值)。每次都必须加载文件、解析数据并保存。
正确的解决方案:使用数据库。使用 SQLite 应该非常容易,并且您不需要单独的数据库服务器。以下是 NodeJS 驱动程序的示例:
关于javascript - 使用 Node.js 存储哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15789744/