Udo*_*o G 5 javascript hash sha1
有一个(可能很大的)唯一文本行(字符串化的JSON数据)列表,我需要为整个文本文档计算一个唯一哈希。通常,新行会附加到文档中,偶尔还会从其中删除一些行,从而导致文档出现全新的哈希。
最终目标是仅使用哈希即可识别相同的文档。
当然,在每次修改后为整个文档计算SHA1哈希将为我提供所需的唯一哈希,但在计算上也将非常昂贵 -特别是在仅将约40个字节附加到5兆字节的文档中并且所有数据将必须再次进行SHA1计算。
因此,我正在寻找一种解决方案,可以减少计算新哈希的时间。
问题属性/要求摘要:
我目前的想法是分别为每行计算SHA1(或其他任何值)哈希,然后对哈希进行XOR。那应该满足所有要求。对于新行,我只计算该行的SHA1并将其与已知和进行异或。
但是,我对此表示怀疑,因为...
任何人都可以阐明这些问题吗?
或者,使用SHA1(或类似的哈希)通常是否可能快速为附加数据生成新的哈希(old hash+ appended data= new hash)?
您可以对同类流计算执行增量更新:
var crypto = require('crypto');
var shasum = crypto.createHash('sha1');
shasum.update("Hello, ");
shasum.update("World!");
console.log(shasum.digest('hex'));
shasum = crypto.createHash('sha1');
shasum.update("Hello, World!")
console.log(shasum.digest('hex'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
557 次 |
| 最近记录: |