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