Как установить 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