md5算法_十分钟掌握高性能哈希算法MurmurHash

2023-09-24 10 0

算法简介

Murmur哈希算法是一种非加密型哈希算法,适用于一般的哈希检索操作,由Austin Appleby创建于2008年。

之所以说是非加密型,与追求安全的MD5算法不同,它不是专门设计为不可逆转破解,而是追求高性能与低碰撞率。这两个特性会在下文做具体代码验证。

算法解读

Murmur哈希算法名称由来就是它的计算过程:Multiply and Rotate,且在哈希的过程中需要经历多次Multiply and Rotate,因此取名叫Murmur,核心思路就是下面这几行代码(Guava中的算法实现):

791423c10caca44b3a1e6baf610ed976.png

Guava中的Murmur3_32实现

可以看到是一个while循环,每次处理4个字符,对这四个字符做:

2a8c9210426cfc6b51944f567f73aa7d.png

其中mixK1

代码编程
赞赏

相关文章

LeetCode之Isomorphic Strings
LeetCode之Combination Sum III
LeetCode之Find Minimum in Rotated Sorted Array II
LeetCode之Majority Element II
LeetCode之Product of Array Except Self
LeetCodeConvert Sorted List to Binary Search Tree