Murmurhash3.. Почему два значения?

Уважаемые коллеги.
Python3.4
Запускаю следующую прогу:
import mmh3
print(mmh3.hash64('abc'))

в ответ вижу:
(-5434086359492102041, 4297124817637354834)
Почему два значения то? Ведь хэш должен быть один...
Что нужно делать с этими двумя значениями что бы получить ОДИН мурмур3x64 хэш?
  • Вопрос задан
  • 523 просмотра
Решения вопроса 2
bobrovskyserg
@bobrovskyserg
Не должен.
Что делать - из этих двух любое отбросить.
А если жалко - вот 128бит:
a, b = mmh3.hash64('abc')
print((a << 64) + b)
Ответ написан
@throughtheether
human after all
Почему два значения то?
Если правильно помню, murmurhash3 генерирует 32- или 128-битный хэш. Два 64-битных числа - это, видимо, две половины результирующего хэша.

Если нужно одно 128-битное число, используйте функцию hash128. Здесь есть пример.

Если нужно одно 64-битное число, берите то, которое больше понравится.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы