使用Node.js存储哈希

时间:2013-04-03 14:10:49

标签: javascript node.js hash

我正在使用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);
});

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

相关问题