#hash #rolling #byte #buzhash

fbuzhash

一个 buzhash 滚动哈希函数

1 个不稳定版本

0.0.1 2021年4月21日

#28#rolling


用于 fixity

自定义许可协议

13KB
176

fbuzhash

**注意:此软件包是 https://github.com/silvasur/buzhash 的移植版,并将专注于子集的奇偶性和正确性。我期望添加的唯一内容是一些黄金主测试,以确保移植代码的奇偶性。其他内容都不在范围内。

包 buzhash 实现了使用此定义的 buzhash 算法 http://en.wikipedia.org/wiki/Rolling_hash#Cyclic_polynomial

滚动哈希

Buzhash 是一个滚动哈希函数,这意味着当前哈希值是最后 n 个消费字节的和。

示例

  • 消息 1: This is a stupid example text to demonstrate buzhash.
  • 消息 2: Another text to demonstrate buzhash.

当使用 n=16 的 buzhasher 对这两个消息进行哈希处理时,两个消息将具有相同的哈希值,因为最后 16 个字符 (nstrate buzhash.) 是相同的。

这在搜索大型文件中的数据片段时很有用,不知道片段的内容(只知道其哈希值)。这在二进制差异工具中得到了应用,例如 rdiff(尽管它们使用不同的滚动哈希函数)。

依赖项

~87KB