我真的不明白为什么bloom过滤器需要多个哈希函数(比如SHA和MD5)。
例如,为什么不制作更大的 SHA哈希值,然后将其分解为多个部分并将它们视为单独的哈希值?在速度方面不是更有效吗?
答案 0 :(得分:3)
这个想法是使用几个不同但简单的哈希函数。如果您要使用一些加密哈希函数,如SHA或MD5,那么您可以改变它的输入。它是否更有效取决于散列函数的复杂程度。
答案 1 :(得分:1)
它被称为三重/双重散列,它最大限度地减少了碰撞的机会,5个散列函数发生碰撞的概率比使用一个散列函数小5倍。