什么是Ruby的哈希函数算法?
答案 0 :(得分:18)
标准Ruby实现对某些类型(整数,字符串)使用Murmur hash
来自string.c:1901:
/* MurmurHash described in http://murmurhash.googlepages.com/ */
static unsigned int
hash(const unsigned char * data, int len, unsigned int h)
(请注意,此功能似乎在SVN中继中重命名为st_hash
如果您想知道它在哪里使用,请在源代码中搜索rb_memhash
。我之前在自己的项目中使用过Murmur2哈希,它非常快,并且具有良好的加密属性(但不足以用作加密哈希函数)。