Генератор хешей FNV
Некриптографическая хеш-функция Fowler-Noll-Vo
-
-
-
-
О хеше FNV
Что такое хеш FNV?
FNV (Fowler-Noll-Vo) — это некриптографическая хеш-функция, созданная Гленном Фаулером, Лэндоном Кертом Ноллом и Кием-Фонгом Во. Она была впервые опубликована в 1991 году и известна своей простотой, скоростью и хорошими свойствами распределения. FNV широко используется в хеш-таблицах, контрольных суммах и дактилоскопии данных.
Варианты алгоритма
- FNV-1a: Улучшенный вариант, который сначала выполняет XOR байта с хешем, затем умножает. Рекомендуется для большинства случаев использования из-за лучших лавинных характеристик.
- FNV-1: Оригинальный вариант, который сначала умножает, затем выполняет XOR. Всё ещё полезен, но FNV-1a обычно предпочтительнее.
Доступные длины битов
- 32-bit: 8-символьный шестнадцатеричный вывод. Быстрый и подходящий для хеш-таблиц с умеренными объёмами данных.
- 52-bit: 13-символьный шестнадцатеричный вывод. Оптимизирован для 53-битного безопасного целочисленного диапазона JavaScript. Хороший баланс скорости и устойчивости к коллизиям.
- 64-bit: 16-символьный шестнадцатеричный вывод. Большее хеш-пространство для снижения вероятности коллизий в больших наборах данных.
Типичные случаи использования
- Хеш-таблицы и хеш-карты для быстрого поиска ключей
- Дедупликация данных и дактилоскопия контента
- Проверка контрольной суммы для целостности данных
- Фильтры Блума и вероятностные структуры данных
Хеш FNV не является криптографически безопасным. Не используйте его для паролей, цифровых подписей или приложений, чувствительных к безопасности. Для криптографических случаев используйте SHA-256 или BLAKE2.
Связанные инструменты
Генератор MurmurHash
Высокопроизводительная некриптографическая хеш-функция для хеш-таблиц, фильтров Блума и разбиения данных
Генератор xxHash
Сверхбыстрый некриптографический хеш с поддержкой xxHash32, xxHash64, xxHash3 и xxHash128
CRC Калькулятор
Вычисление контрольных сумм CRC-8, CRC-16, CRC-32, CRC-64 с поддержкой Modbus, CCITT и других стандартов протоколов
Генератор хеша SHA-3 / Keccak
Генерация хешей SHA3-224/256/384/512 и Keccak с ускорением WebAssembly, используется в Ethereum