【问题标题】:Knuth Hash for byte[]字节 [] 的 Knuth 哈希
【发布时间】:2015-05-25 20:25:00
【问题描述】:

我可以使用 Knuth Hash 为 byte[] 生成唯一的哈希编号吗?

正常的 Knuth Hash 算法如下所示:

int KnuthHsh(int v)
{
    v *= 2654435761;
    return v >> 32;
}

还有没有办法输入byte[]并为其生成唯一的Hash值?

【问题讨论】:

标签: c# algorithm hash integer knuth


【解决方案1】:
    public static ulong CalculateHash(byte[] bytes)
    {
        var hashedValue = 3074457345618258791UL;
        foreach (var b in bytes)
        {
            hashedValue += b;
            hashedValue *= 3074457345618258799UL;
        }
        return hashedValue;
    }

【讨论】:

  • 这如何回答这个问题?
猜你喜欢
  • 2012-08-05
  • 2012-03-26
  • 2015-04-12
  • 2018-03-31
  • 2021-01-11
  • 2017-04-30
  • 2019-02-01
  • 2016-10-22
  • 2018-05-18
相关资源
最近更新 更多