md5sum

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:43, 6 июня 2019.

md5sum
Md5sum.png
Операционная система: Linux, UNIX, Microsoft Windows, Mac OS X
Тип ПО: программа для вычисления и верификации Хеш-сумм по алгоритму MD5
Веб-сайт Non

md5sum — программа, позволяющая вычислять значения хеш-сумм (контрольных сумм) файлов по алгоритму MD5. В обычном случае вычисленные хеши выводятся (можно сохранить в файле, для последующего использования). В других случаях, программа сверяет вычисленные значения со значениями, сохранёнными в файле (это удобно для массовой проверки целостности файлов).

Если выражаться более простым языком, то md5sum - это система контрольных сумм для защиты данных и информирования пользователя о поврежденных данных.

Позволяет проверить, что файл (например, установщик YASARA) по сети был загружен правильно. Программа имеет множество версий (функциональность версий может существенно различаться) для различных ОС — например, Linux, UNIX (напр., BSD), Microsoft Windows[1], MacOS.

Особенность Md5sum

Предположим, что кто-то хочет установить операционную систему, поэтому для проверки правильности установки компакт-диска всегда полезно проверить файл .iso, используя контрольную сумму MD5, чтобы не допустить установки неправильного программного обеспечения (какого-либо вируса), который может повредить вашу файловую систему).

В связи с лёгкостью нахождения коллизий в MD5, md5sum не рекомендуется к дальнейшему использованию. Многие версии программы md5sum не могут обрабатывать множества файлов, перемещаясь по каталогам рекурсивно. Этого ограничения не имеет усовершенствованная версия программы — md5deep.

Как рассчитать MD5Sum файла

Linux:[Источник 1]

  • Требуемая программа md5sum уже присутствует практически на всех компьютерах.
  • Откройте терминал, перейдите в каталог, содержащий файл для проверки и введите md5sum NameOfFileToCheck

MacOS:

  • Необходимая программа md5 уже присутствует на всех компьютерах Apple.
  • Откройте терминал, перейдите в каталог, содержащий файл для проверки и введите md5 NameOfFileToCheck

Windows:

  • Необходимо загрузить программу md5sum, сохраните ее в папке, содержащей файл для проверки.
  • Откройте приглашение DOS, нажав «Выполнить» в меню «Пуск» и введя command(Windows 9x / ME) или cmd (WinNT / 2K / XP / Vista).
  • В окне приглашения DOS используйте cd команду для перехода в папку, содержащую проверяемый файл. Например, если предположить, что установщик находится в C: \ Program Files, то команда будет выглядеть так: cd "c:\Program Files"
  • Если он находится на другом диске, например, на диске D, то необходимо заменить на диск D, а затем перейти в нужную папку, как показано выше.
  • Теперь введите md5sum NameOfFileToCheck
  • Когда мы запрашиваем md5sum и копирование / вставка не работает, то не нужно вручную вводить всю контрольную сумму. Первые шесть символов достаточно.

Команда md5sum в Linux

Синтаксис

 md5sum [''опция''] [''файл''] ...

Он напечатает или проверит контрольную сумму MD5 (128-бит).

Он вычисляет контрольную сумму MD5 для файла «test.cpp».

Вывод:

c6779ec2960296ed9a04f08d67f64422 /home/mandeep/test/test.cpp

Опции

  • -b: читать данные файлов в двоичном режиме. Перед именем файла выводится символ *;
  • -c: сверять вычисленные значения MD5 со значениями из файла[Источник 2];
  • -tag: создавать контрольную сумму в стиле BSD;
  • -t: читать данные файлов в текстовом режиме (по умолчанию). Перед именем файла выводится пробел;
  • -help: вывести только справку по опциям;
  • -version: вывести только информацию о версии.

Параметры, которые полезны при проверке контрольной суммы

  • -status —  выводить только код проверки ();
  • -w, -warn —  предупреждать о строках (checksum lines) с неправильным форматом;
  • –ignore-missing — не сообщать о статусе отсутствующих файлов;
  • –quiet — не печатать OK для каждого успешно проверенного файла;
  • –strict — выйти ненулевым для неправильно отформатированных файлов контрольных сумм.

Примеры

Быстрое вычисление хеша из командной строки (обратите внимание на ключ -n у echo, предотвращающий добавление символа перевода строки)[Источник 3].:

  $ echo -n "to_hash" | md5sum -
  81cf2f9f23fd597f2e278e56718c3831  -

Вычисление в текущем каталоге по маске. Хеши (checksums) MD5 (128-битные значения) выводятся в виде 32-значных шестнадцатеричных чисел.

  $ md5sum ./s*
  3111519d5b4efd31565831f735ab0d2f  ./sec1.png
  d73ecc5397b8bfde0cc218f798019064  ./sec2.png

Для вычисления и записи (в файл sums.md5) хешей файлов (читаемых как двоичные файлы) с шаблоном имени:

  md5sum -b ./sec* > sums.md5

Для проверки контрольных сумм файлов, сохранённых в файле.

 md5sum -c sums.md5
 ./sec1.png: FAILED
 ./sec2.png: OK
 md5sum: WARNING: 1 of 2 computed checksums did NOT match

Заметьте, что для каждого файла выводится результат проверки: OK или FAILED. Список проверяемых файлов читается из указанного файла.

Если нужно просто проверить, все ли файлы имеют правильные контрольные суммы, можно подавить «вывод результата для каждого файла» с помощью ключа --status. Тогда вообще ничего не выводится, а возвращается невидимый «код возврата». Это полезно, когда программа вызывается другой программой.

Чтобы вычислить хеши всех файлов в текущем каталоге и его подкаталогах (рекурсивно), при этом выводить размер файлов и относительный путь файла используете:

 md5deep -r -z -l *

получается информация (которую можно перенаправить для сохранения в файле "md5deep * > output.txt") вида:

        57  0cfbc88da15e6d31d3ad438d50f14eed  docs/DVD05/disc05.iso
  14325604  7cd30a721a2e672c3d08c932760be0e3  Edocs/2005/2005-08.tar.gz
   7944551  b13aa16388acaf55c5bcf71e8b5c158c  Edocs/2004/2004-12.tar.gz

Ссылки

  • GNU Coreutils включает md5sum для систем GNU
  • md5sum(1) — страница справки man по пользовательским командам GNU/Linux

Источники

  1. Как рассчитать MD5Sum файла // YASARA URL: http://www.yasara.org/md5sum.htm (дата обращения: 09.05.2019).
  2. Команда md5sum в Linux // GeeksforGeeks URL: https://www.geeksforgeeks.org/md5sum-linux-command/ (дата обращения: 09.05.2019).
  3. Программа md5sum // Academic URL: https://dic.academic.ru/dic.nsf/ruwiki/311882 (дата обращения: 09.05.2019).

Примечания

  1. Cygwin и GnuWin32 включает md5sum для систем Microsoft Windows.