为什么布隆过滤器需要多个哈希函数



我真的不明白为什么布隆过滤器需要多个哈希函数(比如SHA和MD5)。

例如,为什么不创建一个更大的 SHA散列,然后将其分解为多个部分,并将它们作为单独的散列处理?就速度而言,这不是更有效率吗?

这个想法是使用几个不同但简单的哈希函数。如果你要使用一些加密散列函数,比如SHA或MD5,那么你可以改变它的输入。是否更有效取决于你的哈希函数有多复杂

这被称为三重/双重哈希,它最大限度地减少碰撞的机会,5个哈希函数发生碰撞的概率,比1个哈希函数小5倍