字符串C#的唯一哈希码

时间:2018-08-16 15:53:58

标签: java c# android ios bloom-filter

我应该使用C#实现布隆过滤器,并且我尝试遵循:https://gist.github.com/richardkundl/8300092,但它必须与其他平台(如iOS和android)兼容。因此,我不能将string.GetHashCode用作哈希函数之一,因为iOS或Android会将项目添加到Bloom过滤器中并在服务器上使用C#编写,因此我将检查Bloom过滤器中是否存在特定项目,或者不。 按照发布的链接中Bloom过滤器的实现,我们应该使用两个哈希函数。其中之一如下:

private static int HashString(T input)
{
    string s = input as string;
    int hash = 0;

    for (int i = 0; i < s.Length; i++)
    {
        hash += s[i];
        hash += (hash << 10);
        hash ^= (hash >> 6);
    }

    hash += (hash << 3);
    hash ^= (hash >> 11);
    hash += (hash << 15);
    return hash;
}

所以我试图弄清楚我可以使用哪种哈希算法作为主要算法,也可以用android或iOS编写。

0 个答案:

没有答案