1

我正在使用 Node.js 为文件生成哈希,然后当它被更改时,我想在保存之前将它与以前的版本匹配。例如,如果没有发生任何更改,则不会进行保存。

我尝试使用以下代码来完成任务(受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);
});

我想知道如何保存文件的哈希以便以后匹配它。任何想法都会受到欢迎。

4

1 回答 1

1

简单的解决方案:只需将其写入文件(每个要保存的文件一个附加信息文件)。

一个更复杂的解决方案:保留一个包含所有哈希值的文件,如对(路径,哈希)。您必须每次加载文件,解析数据并保存。

正确的解决方案:使用数据库。使用 SQLite 应该很容易,并且您不需要单独的数据库服务器。这是 NodeJS 驱动程序的示例:

https://github.com/developmentseed/node-sqlite3

于 2013-04-03T14:25:49.890 回答