Я ищу хеш-алгоритм, чтобы создать как можно более близкий к уникальному хешу строки (max len = 255), который выдает длинное целое число (DWORD).
Я понимаю, что 26 ^ 255 >> 2 ^ 32, но также знаю, что количество слов в английском языке намного меньше, чем 2 ^ 32.
Строки, которые мне нужны для хэширования, будут состоять в основном из отдельных слов или некоторой простой конструкции, использующей два или три слова.
Ответ :
Один из вариантов FNV должен соответствовать вашим требованиям. Они быстрые и выдают довольно равномерно распределенные результаты. (Ответ Паукообразный )