WikiDer > Sha1sum

Sha1sum

sha1sum это компьютерная программа который вычисляет и проверяет SHA-1 хеши. Обычно он используется для проверки целостности файлов. Он (или вариант) установлен по умолчанию в большинстве Дистрибутивы Linux. Варианты включают шасум (что позволяет выбирать хэш-функции с SHA-1 по SHA-512 вручную), sha224sum, sha256sum, sha384sum и sha512sum, которые используют определенные SHA-2 хэш-функция и sha3sum (что позволяет SHA-3 с помощью функций SHA3-512, SHAKE, RawSHAKE и Keccak, которые можно выбрать вручную). Версии для Майкрософт Виндоус также существуют, и дистрибутив ActivePerl включает Perl-реализацию шасум. На FreeBSD и OpenBSD коммунальные услуги называются мкр5, sha1, Sha256, и Sha512. Эти версии предлагают немного другие варианты и функции. Кроме того, FreeBSD предлагает семейство дайджестов сообщений "SKEIN".

Варианты SHA-1: доказано уязвимы к столкновения атак, и пользователи должны использовать, например, вариант SHA-2, такой как sha256sum вместо этого, чтобы предотвратить вмешательство злоумышленника.[1][2]

Он включен в Основные утилиты GNU,[3] Busybox[4] и Ящик для игрушек.[5]

Примеры

Чтобы создать файл с хешем sha1, если он не указан:

$ sha1sum имя файла [имя_файла2] ...> SHA1SUM

При распространении одного файла к имени файла можно добавить ".sha1", например:

$ sha1sum --binary my-zip.tar.gz> my-zip.tar.gz.sha1

Вывод содержит по одной строке на файл в форме "{hash} SPACE (ASTERISK | SPACE) [{каталог} SLASH] {имя файла}". (Обратите внимание, что если создание хеш-дайджеста выполняется в текстовом режиме, а не в двоичном режиме, то вместо одного пробела и звездочки будут два символа пробела.) Например:

$ sha1sum -b мой-zip.tar.gzd5db29cd03a2ed055086cef9c31c252b4587d6d0 * my-zip.tar.gz$ sha1sum -b подкаталог / имя файла255086cef9c87d6d031cd5db29cd03a2ed0252b45 * subdir / filename2

Чтобы убедиться, что файл был загружен правильно или что он не был подделан:

$ sha1sum -c SHA1SUMимя файла: ОКимя_файла2: ОК$ sha1sum -c my-zip.tar.gz.sha1my-zip.tar.gz: ОК

Деревья хеш-файлов

sha1sum может создавать контрольные суммы только одного или нескольких файлов внутри каталога, но не для дерева каталогов, то есть подкаталогов, подкаталогов и т. д., а также файлов, которые они содержат. Это возможно с помощью sha1sum в сочетании с найти команда с -exec вариант, или трубопровод выход из найти в xargs. оттенок может создавать контрольные суммы дерева каталогов.

Использовать sha1sum с найти:

$ найти s_ * -type f -exec sha1sum '{}' ;65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1 / file_s11d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2 / file_s215590e00ea904568199b86aee4b770fb1b5645ab8 s_a / file_02

Точно так же вывод по конвейеру найти в xargs дает тот же результат:

$ найти s_ * -тип f | xargs sha1sum65c23f142ff6bcfdddeccebc0e5e63c41c9c1721 s_1 / file_s11d3d59905cf5fc930cd4bf5b709d5ffdbaa9443b2 s_2 / file_s215590e00ea904568199b86aee4b770fb1b5645ab8 s_a / file_02

Смотрите также

Рекомендации

  1. ^ Брюс Шнайер. «Криптоанализ SHA-1». Шнайер о безопасности.
  2. ^ https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html
  3. ^ https://www.gnu.org/software/coreutils/manual/html_node/sha1sum-invocation.html
  4. ^ https://github.com/mirror/busybox/blob/a6f8651/testsuite/sha1sum.tests
  5. ^ https://github.com/landley/toybox/blob/409a8e093a4ea8e0892ab302b4fd433d08f435eb/toys/lsb/md5sum.c#L17

внешняя ссылка