【发布时间】:2010-05-02 12:41:37
【问题描述】:
布隆过滤器使用散列函数(或许多)在给定输入字符串 X 的情况下生成介于 0 和 m 之间的值。我的问题是如何使用散列函数以这种方式生成值,例如 MD5散列通常由 32 长度的hex 字符串表示,我将如何使用 MD5 散列算法生成一个介于 0 和 m 之间的值,我可以在其中指定 m?我目前正在使用 Java,因此使用它提供的 MessageDigest 功能执行此操作的示例会很棒,尽管只是对如何处理它的通用描述也可以。
谢谢
【问题讨论】:
-
通常你会为了速度而实现一个布隆过滤器或哈希表。 MD5 旨在抗碰撞和加密安全,因此与其他功能相比非常慢。您应该寻找其他要使用的函数(但无论您的散列函数如何,下面的答案都适用)
标签: hash bloom-filter