Что такое MurmurHash3 (x64 128-bit)?
MurmurHash3 — это быстрый некриптографический алгоритм хеширования, предназначенный для воспроизводимых, хорошо распределённых контрольных сумм. Вариант x64 128-bit возвращает 16-байтовое значение, обычно отображаемое как 32 шестнадцатеричных символа. Поэтому он лучше 32-битных хешей подходит, когда нужен более широкий идентификатор для больших наборов записей, файлов или ключей кеша.
Где это полезно:
- Хеш-таблицы и шардирование: Создавайте стабильные ключи для бакетов, разделов или таблиц поиска.
- Дедупликация: Сравнивайте большие наборы текста или файлов по компактным 128-битным отпечаткам перед более глубокими проверками.
- Ключи кеша: Создавайте детерминированные идентификаторы для артефактов сборки, преобразованных данных или сгенерированного содержимого.
- Некриптографические проверки целостности: Обнаруживайте случайные изменения при хранении или передаче, когда криптографические гарантии не требуются.
Поведение сида:
Необязательный сид — это 32-битное беззнаковое значение. Используйте один и тот
же сид, когда результаты должны совпадать с другой системой, и оставляйте 0,
когда нет особого требования совместимости. Принимаются десятичные значения и
шестнадцатеричные значения с 0x; более крупные значения приводятся по модулю
к тому же 32-битному диапазону, который использует алгоритм.
Замечания по безопасности:
MurmurHash3 не является алгоритмом хеширования паролей, создания подписей или проверки с защитой от подмены. Используйте SHA-256, HMAC или инструмент для хеширования паролей, когда результат должен обладать свойствами безопасности. Этот инструмент лучше всего подходит для локального офлайн-хеширования, ориентированного на производительность, где скорость и стабильное распределение важнее устойчивости к атакам.