【发布时间】:2012-08-20 15:53:24
【问题描述】:
我正在尝试在 Scala 中实现 Count-Min Sketch 算法,因此我需要生成 k 对独立的哈希函数。
这是一个比我以前编程过的任何东西都低的级别,而且我对哈希函数了解不多,除了算法类,所以我的问题是:我如何生成这些 k 成对独立的哈希函数?
我应该使用像 MD5 或 MurmurHash 这样的哈希函数吗?我是否只生成 f(x) = ax + b (mod p) 形式的 k 个哈希函数,其中 p 是素数,a 和 b 是随机整数? (即,universal hashing family 每个人都在算法 101 中学习)
我更追求简单而不是原始速度(例如,如果实现起来更简单,我会慢 5 倍)。
【问题讨论】:
-
MD5 是加密的。 MurmurHash 很好,但在密码学上不强。
标签: scala hash-function cryptographic-hash-function