hash 算法
简单来说:hash(散列、杂凑)函数,是将任意长度的数据映射到有限长度的域上。直观解释起来,就是对一串数据 m 进行杂糅,输出另一段固定长度的数据 h,作为这段数据的特征(指纹)。
由于用途的不同,hash 在数据结构中的含义【hashCode()】和密码学【md5,sha1,sha256】中的含义并不相同,所以在这两种不同的领域里,算法的设计侧重点也不同。
数据结构 hash
1 | string、int、bool、object hashCode() |
密码学 hash
1 | | 算法 | bit 位数 | 16 进制字符串 | |
其他工具
1 | fnv:FNV能快速hash大量数据并保持较小的冲突率,它的高度分散使它适用于hash一些非常相近的字符串,比如URL,hostname,文件名,text,IP地址等。 |