0

我阅读了一篇论文,该论文解释了使用 CRC-64-ISO 算法生成的 CRC 作为哈希键可能会导致大量数据的冲突。Postmodern 的 Ruby CRC 项目非常有趣,但 CRC64 类似乎使用的是 CRC-64-ISO 算法。

我希望从规范的输入中生成可能是唯一的 id,这些 id 稳定且有点人性化,例如,在手动维护的电子表格中很容易使用。我只会使用 SHA1,但它们很长。

我只熟悉哈希键的基础知识,而且我几乎没有发现 CRC-64-ISO 问题,并且在这一点上感觉没有能力组合一个具有更好哈希特性的类。是否有现有的 ruby​​ 库可以在这里使用?

4

2 回答 2

1

CRC 是为错误检查而设计的,而不是为哈希表查找而设计的。您应该为此目的使用 Spooky (Bob Jenkins)、Google 的 CityHash 或 TMMHv2。使用像 MD5 这样的加密哈希会起作用,但速度很慢。

于 2013-03-25T12:41:03.310 回答
0

您可以计算 md5/sha1 并截断输出值...

于 2011-05-25T06:07:47.163 回答