
MurmurHash是由Google工程师Austin Appleby于2008年创建的非加密散列函数,其名称源于算法内部循环中的乘法(MU)与旋转(R)操作。该函数适用于通用哈希查找场景,具有高性能、低碰撞率与分布均匀的特点,主要版本包括支持32/64位输出的MurmurHash2和可生成32/128位哈希值的MurmurHash3 。MurmurHash参考实现采用C++语言编写,通过SMHasher测试套件发布 ,Java移植版本由Yonik Seeley开发并生成与C++版本一致的哈希值 。该算法被集成至nginx、Hadoop、Elasticsearch、Redis等开源项目,并在分布式系统中用于负载均衡与哈希分片 。研究显示其存在HashDoS攻击风险,特定输入可引发散列碰撞。当前MurmurHash1已停止维护,原版规范实现托管于GitHub平台 。
想要了解更多“Murmur哈希”的信息,请点击:Murmur哈希百科
