基于带随机数的标量积的String的哈希函数

时间:2017-05-25 10:31:39

标签: java hash

我正在做大学作业,其中包括创建一个带有自定义哈希函数的分布式哈希表,以便在商店(节点)之间分配密钥。

在课堂上,我们学到了一个好的'的正式定义。通用的哈希函数族,因此碰撞概率大于表的大小(该大小为素数)。

产生散列的过程如下(表格的m大小):

  1. w = log2(m)
  2. 将键分为每个部分w位
  3. k = m / w
  4. 将每个部分解释为[0,2 ^ w -1]
  5. 中的数字
  6. 生成长度为k的随机数
  7. 的向量
  8. 散列是作为向量的部分和随机数mod m
  9. 的向量的标量积

    这个程序被证明具有上述属性。

    在赋值中,我必须将字符串实现为键。但是,字符串只能(很容易)分为字符/字节而不是位,所以我不能使用w = log2(m)而是w' = log256(m)。如果需要,我可以发布代码,但我认为这个想法是可以理解的。

    哈希函数是否仍然使用w'或者我必须将字符串分成w位的部分吗?

0 个答案:

没有答案