Ruby使用什么哈希函数?

时间:2010-07-17 08:30:00

标签: ruby hash

什么是Ruby的哈希函数算法?

1 个答案:

答案 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哈希,它非常快,并且具有良好的加密属性(但不足以用作加密哈希函数)。