Ruby使用什么哈希函数?

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

标准的Ruby实现对某些类型使用Murmur哈希 (整数,字符串)

来自string.c:1901:

/* MurmurHash described in http://murmurhash.googlepages.com/ */ static unsigned int hash(const unsigned char * data, int len, unsigned int h) 

(注意这个函数似乎在SVN trunk中被重命名为st_hash

如果您想知道它在哪里使用,请在源代码中搜索rb_memhash 。 我之前在自己的项目中使用过Murmur2哈希,它非常快并且具有良好的加密属性(但不足以用作加密哈希函数)。