Поиск по сайту:

Как установить xxHash для более быстрой проверки хеша в Ubuntu

В этом простом руководстве показано, как установить самую последнюю версию xxHash для более быстрой проверки хеша в Ubuntu Linux.

xxHash — чрезвычайно быстрый некриптографический алгоритм хеширования, работающий на пределе скорости оперативной памяти. Может быть полезно проверить целостность больших объемов данных, индексных данных и/или данных, используемых в криптографических приложениях, таких как цифровые подписи.

В состав библиотеки входят следующие алгоритмы:

  • XXH32: генерирует 32-битные хэши.
  • XXH64: генерирует 64-битные хэши.
  • XXH3/XXH128 (начиная с версии 0.8.0): генерирует 64- или 128-битные хэши с использованием векторизованной арифметики.

Я новичок в алгоритме хэширования, но регулярно выполняю проверку хэша при тестировании различных дистрибутивов Linux. И я использую sha256, поскольку большинство сайтов предоставляют файлы sha256sum для хэш-кода своих диско-изображений.

Я могу запустить sha256sum для файла на SSD, что занимает около 20 секунд для печати хеш-кода для ISO-образа размером 4 ГБ. Но после переноса на флешку (для загрузки через Ventoy) и повторного хеширования это может занять до 2 минут!

Я чувствовал себя глупо, пока не встретил xxHash. Проверка хеша может быть такой быстрой!

Для опытных пользователей см. тесты (в системе используется процессор Intel i7-9700K и работает Ubuntu x64 20.04).

Hash Name Width Bandwidth (GB/s) Small Data Velocity Quality Comment
XXH3 (SSE2) 64 31.5 GB/s 133.1 10
XXH128 (SSE2) 128 29.6 GB/s 118.1 10
memcpy N/A 28.0 GB/s N/A N/A for reference
City64 64 22.0 GB/s 76.6 10
T1ha2 64 22.0 GB/s 99.0 9 Slightly worse collisions
City128 128 21.7 GB/s 57.7 10
XXH64 64 19.4 GB/s 71.0 10
SpookyHash 64 19.3 GB/s 53.2 10
Mum 64 18.0 GB/s 67.0 9 Slightly worse collisions
XXH32 32 9.7 GB/s 71.9 10
City32 32 9.1 GB/s 66.0 10
Murmur3 32 3.9 GB/s 56.1 10
SipHash 64 3.0 GB/s 43.2 10
FNV64 64 1.2 GB/s 62.7 5 Poor avalanche properties
Blake2 256 1.1 GB/s 5.1 10 Cryptographic
SHA1 160 0.8 GB/s 5.6 10 Cryptographic but broken
MD5 128 0.6 GB/s 7.8 10 Cryptographic but broken

Как установить xxHash в Ubuntu

xxHash доступен в репозитории Ubuntu, но он (или будет) устаревшим, поскольку программное обеспечение постоянно обновляется.

Чтобы установить xxHash из системного репозитория, откройте терминал (Ctrl+Alt+T) и выполните команду:

sudo apt install xxhash

Для последней версии (на данный момент v0.8.2) существует несколько сторонних репозиториев PPA. И я использую версию Адама Ревички, которая на данный момент поддерживает Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.04 и Ubuntu 23.10.

  • Сначала нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду, чтобы добавить PPA:

    sudo add-apt-repository ppa:reviczky/xxhash

    Введите пароль пользователя, когда он запросит (без обратной связи со звездочкой) аутентификацию sudo. Затем нажмите Enter, чтобы продолжить.

  • Затем либо запустите Software Updater, чтобы обновить инструмент с версии, установленной из системного репозитория. Или выполните команду:

    sudo apt install xxhash

    Для Linux Mint сначала запустите sudo apt update, чтобы обновить кеш системных пакетов.

После установки инструмента используйте одну из команд xxh128sum, xxh32sum, xxh64sum, xxhsum для проверки хеша.

Удалить xxHash

Чтобы удалить xxHash, откройте терминал (Ctrl+Alt+T) и выполните команду:

sudo apt remove --autoremove xxhash

Также удалите PPA (если он добавлен) либо с помощью «Программное обеспечение и обновления» на вкладке «Другое программное обеспечение», либо выполнив команду:

sudo add-apt-repository --remove ppa:reviczky/xxhash

Статьи по данной тематике