Какую хеш-функцию Ruby использует?

Каков алгоритм хеш-функции Ruby?

13
задан Nas Banov 18 July 2010 в 03:53
поделиться

1 ответ

Стандартная реализация Ruby использует хэш Murmur для некоторых типов (целое число, строка)

Из string.c: 1901:

/* MurmurHash described in http://murmurhash.googlepages.com/ */
static unsigned int
hash(const unsigned char * data, int len, unsigned int h)

(обратите внимание, что эта функция, похоже, переименована в ] st_hash в магистрали SVN)

Найдите rb_memhash в исходном коде, если хотите знать, где он используется. Раньше я использовал хэш Murmur2 в собственном проекте, он очень быстрый и имеет хорошие криптографические свойства (но недостаточно хорош для использования в качестве криптографической хеш-функции).

18
ответ дан 1 December 2019 в 23:30
поделиться
Другие вопросы по тегам:

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