这里有一些关于Bloom Filter
的基本知识有人可以向我解释如何将哈希函数(比如说md5,sha1或任何其他预定义的哈希函数)转换为范围0到m的整数值,其中m是布隆过滤器的位范围。 / p>
我想知道如何从定义的范围中获取哈希函数的值,我可以使用它在布隆过滤器中进行索引。
直到知道我已提到:
1。Using hash functions with Bloom filters,
2。How to map hashfunction output to bloomfilter indices? 和
http://billmill.org/bloomfilter-tutorial/
但是在所有这些中都没有给出示例,在最后一个中他们使用了javascript,并使用了Jenkins 96 bit mix function
和2个散列函数fnv
和murmur
,这对于理解。
我理解的是我们将哈希函数值除以例如:使用md5 "0cc175b9c0f1b6a831c399e269772661"
并将它除以4位的块或任意位数的块进行4位除法我们做" 0cc1" " 75b9"但那后呢?
我无法理解在此步骤之后我们做了什么,以及我们如何设置范围,使其不应大于布隆过滤器的ARRAY大小。
有人能用php或c ++语言为我提供一个实时的基本示例吗?
我知道md5不是一个你应该在绽放过滤器中的功能,但我只需要理解我们如何做的概念。