Быстрая хеш-функция для строки на C#

Я хочу хешировать строку длиной до 30. Как лучше всего это сделать, если меня беспокоит время. Функция будет вызываться более 100 миллионов раз. в настоящее время я использую следующий код:

static UInt64 CalculateHash(string read, bool lowTolerance)
{
    UInt64 hashedValue = 0;
    int i = 0;
    while (i < read.Length)
    {
        hashedValue += read.ElementAt(i) * (UInt64)Math.Pow(31, i);
        if (lowTolerance) i += 2;
        else i++;
    }
    return hashedValue;
}
25
задан Ajay 27 February 2017 в 12:21
поделиться