crc64-jones还是crc64-ecma在ruby中可用?

时间:2010-09-19 17:31:08

标签: ruby sha1 crc

我读了paper,解释说使用CRC-64-ISO算法生成的CRC作为散列键可能会导致大量数据集的冲突。 Postmodern的Ruby CRC project非常有趣,但CRC64类似乎使用了CRC-64-ISO算法。

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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