Зачем фильтру Блума нужны множественные хэш-функции? - PullRequest
1 голос
/ 07 июля 2011

Я не совсем понимаю, почему для фильтра Блума требуются несколько хеш-функций (скажем, SHA и MD5).

Почему бы просто не создать, например, больший SHA-хеш, а затем разбить его на несколько частей и рассматривать их как отдельные хеши? Разве это не более эффективно с точки зрения скорости?

Ответы [ 2 ]

3 голосов
/ 07 июля 2011

Идея состоит в том, чтобы использовать несколько разных, но простых хеш-функций. Если вы собираетесь использовать какую-то криптографическую хеш-функцию, такую ​​как SHA или MD5, вы можете просто изменить ее вход. Насколько он эффективнее, зависит от сложности ваших хеш-функций.

1 голос
/ 06 июня 2014

Это называется тройным / двойным хэшированием, оно минимизирует вероятность коллизий, вероятность коллизии с 5 хэш-функциями в 5 раз меньше, чем с одной хеш-функцией.

...