用Node.js存储散列

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

我想知道如何保存文件的散列,以便之后匹配。 任何想法都会受到欢迎。

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

一个更复杂的解决scheme:保留一个文件与所有哈希像对(path,哈希)。 您必须加载文件,parsing数据并在每次之后保存。

正确的解决scheme:使用数据库。 SQLite应该很容易,你不需要单独的数据库服务器。 下面是一个NodeJS驱动的例子:

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