我读了paper,解释说使用CRC-64-ISO算法生成的CRC作为散列键可能会导致大量数据集的冲突。 Postmodern的Ruby CRC project非常有趣,但CRC64类似乎使用了CRC-64-ISO算法。
我希望从规范输入生成可能唯一的ID,这些id是稳定的并且有点人性化,例如,在手工维护的电子表格中易于使用。我只会使用SHA1,但它们很长。
我只熟悉哈希键的基础知识,而且我几乎没有发现CRC-64-ISO问题,并且在这一点上感觉不能胜任一个具有更好散列特性的类。是否有一个现有的ruby库可以在这里使用?
答案 0 :(得分:1)
CRC用于错误检查,而不是哈希表查找。 您应该将Spooky(Bob Jenkins),Google的CityHash或TMMHv2用于此类目的。 使用像MD5这样的加密哈希会起作用,但速度很慢。
答案 1 :(得分:0)
你可以计算md5 / sha1并截断输出值......