md5sum
md5sum | |
---|---|
Тип | программа для вычисления и верификации Хеш-сумм по алгоритму MD5 |
Операционные системы | Linux, UNIX, Microsoft Windows, macOS |
md5sum — программа, позволяющая вычислять значения хеш-сумм (контрольных сумм) файлов по алгоритму MD5. В обычном случае вычисленные хеши выводятся (можно сохранить в файле, для последующего использования). В других случаях программа сверяет вычисленные значения со значениями, сохранёнными в файле (это удобно для массовой проверки целостности файлов).
Наиболее часто программа используется для проверки правильной загрузки файлов по сети. Программа имеет множество версий (функциональность версий может существенно различаться) для различных ОС — например, Linux, UNIX (напр., BSD), Microsoft Windows, macOS.
Ключи запуска программы
[править | править код]md5sum [ключи] [файл] ...
Если файл не указан, или в качестве его имени указан символ -, то данные читаются из standard input.
Ключи:
- -t, --text — читать данные файлов в текстовом режиме (по умолчанию). Перед именем файла выводится пробел.
- -b, --binary — читать данные файлов в двоичном режиме. Перед именем файла выводится символ *.
- -c, --check — сверять вычисленные значения MD5 со значениями из файла
- --status — (только при проверке хешей) — выводить только код проверки ()
- -w, --warn — (только при проверке хешей) — предупреждать о строках (checksum lines) с неправильным форматом
- --help — вывести только справку по ключам
- --version — вывести только информацию о версии
md5deep
[править | править код]Многие версии программы md5sum не могут обрабатывать множества файлов, перемещаясь по каталогам рекурсивно. Этого ограничения не имеет усовершенствованная версия программы — md5deep.
Примеры
[править | править код]Быстрое вычисление хеша из командной строки (обратите внимание на ключ -n у echo, предотвращающий добавление символа перевода строки):
$ 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
Безопасность
[править | править код]В связи с лёгкостью нахождения коллизий в MD5 md5sum не рекомендуется[1] к дальнейшему использованию.
См. также
[править | править код]- GNU Coreutils включает md5sum для систем GNU
- Cygwin включает md5sum для систем Microsoft Windows
- GnuWin32 включает md5sum для систем Microsoft Windows (в пакете CoreUtils)
- sha1sum
- tthsum
- Windows MD5summer
Примечания
[править | править код]- ↑ Vulnerability Note VU#836068 - MD5 vulnerable to collision attacks . www.kb.cert.org. Дата обращения: 12 сентября 2016. Архивировано 21 марта 2017 года.
Ссылки
[править | править код]md5sum(1)
— страница справки man по пользовательским командам GNU/Linux (англ.)- virens. Как проверить CD и DVD диск после записи . Записки дебианщика (16 ноября 2006). Архивировано из оригинала 24 февраля 2012 года.
- MD5 Command Line Message Digest Utility — консольный клиент для Windows/MS-DOS/Unix для генерации/проверки MD5
- Vulnerability Note VU#836068 — запись об уязвимости MD5 от министерства внутренней безопасности США