Хэш xxHash64 онлайн
Разработан для предельной скорости на 64-битных платформах — используется в LZ4, ZFS, Hadoop. Считается прямо в браузере — текст никуда не отправляется.
Вычислить xxHash64
Результат пересчитывается сам, пока вы печатаете. В режиме «По строкам» пустые строки тоже хэшируются — результат всегда совпадает по числу строк со входом. Нужна другая функция — на полной странице калькулятора их 32.
История xxHash64
64-битный вариант того же алгоритма Яна Колле, что и xxHash32, — пересчитанный под 64-битную арифметику для полного использования возможностей современных процессоров. На 64-битных платформах xxHash64 обычно быстрее xxHash32 на больших объёмах данных, несмотря на «более тяжёлые» операции — потому что обрабатывает вдвое больше байт за одну машинную инструкцию.
Как устроен алгоритм
Логика идентична xxHash32, только в масштабе: четыре 64-битных аккумулятора вместо 32-битных, блок обработки — 32 байта (по 8 на каждый аккумулятор) вместо 16. Формула обновления та же по духу: умножение на простое число, циклический сдвиг, умножение на другое простое. После обработки всех блоков аккумуляторы объединяются в одно 64-битное число через сдвиги, умножения и XOR, дополнительно подмешивая длину входа, а затем проходит финальный этап avalanche.
Характеристики
| Параметр | Значение |
|---|---|
| Длина хэша | 64 бита (16 hex-символов) |
| Размер блока обработки | 32 байта (4 × 8 аккумулятора) |
| Операции | умножение, циклический сдвиг, XOR |
| Тип | Некриптографический хэш |
| Автор | Ян Колле |
Где применяется
- Контрольные суммы в Zstandard и других современных форматах сжатия
- Hadoop, распределённые файловые системы — быстрая проверка целостности больших блоков
- Везде, где нужна максимальная скорость хэширования на 64-битном железе
Криптостойкость
Некриптографический хэш — как и весь xxHash, спроектирован для скорости, не для защиты от намеренной подделки.