我们常用的hash算法 32位 2^32次方=4294967296 约等于43亿,如果数据量大于这个数值那碰撞的概率就是100%
下面是CRC32、murmur32、SDBM32碰撞实验数据对比
算法 | 数据量级100w | 数据量级1000w | 数据量级3000w | 数据量级5000w |
---|---|---|---|---|
murmurHash | 113 | 11757 | 105148 | 293061 |
C32 | 110 | 11745 | 105031 | 293979 |
SDBM32 | 250 | 23117 | 210904 | 591225 |
CRC32+murmurHash | 0 | 0 | 1 | 8 |