Проверка md5 суммы. Подсчитываем md5 (хеш-сумму) в Linux

Содержимое статьи:

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

Вариант через расширение для проводника

Для проводника Windows существует замечательная программа Hashtab, которая бесплатна для некоммерческого использования. Скачать ее можно с . Выбираем бесплатную (Free) версию и жмем на кнопку "Download".

После установки программы, в контекстном меню проводника появится новая вкладка "Хеш-суммы файлов", выбрав которую, программа автоматически посчитает хеш-суммы для выбранного файла в зависимости от того, какие алгоритмы выбраны в ее настройках.

Вариант через командную строку (с установкой программы)

В случае, если необходимо посчитать хеш-сумму файла через командную строку, мы можем воспользоваться утилитой от Microsoft, которая годится как раз для таких случаев. Скачиваем ее с и устанавливаем. Для этого надо будет создать какую-либо папку на жестком диске и указать ее в процессе установки. В нашем примере, программа была установлена в папку C:\Program Files (x86)\FCIV. Для того, чтобы посчитать MD5 хеш-сумму файла, нам необходимо запусить командную строку и в ней набрать следующую команду:

"C:\Program Files (x86)\FCIV\fciv.exe" -md5 C:\Users\Admin\Downloads\HashTab_v6.0.0.34_Setup.exe

Как видите, MD5 хеш-сумма одинакова как для первого варианта, так и для второго.

"C:\Program Files (x86)\FCIV\fciv.exe" - это путь к файлу fciv.exe
-md5 - указание алгоритма по которому fciv.exe будет считать хеш-сумму
C:\Users\Admin\Downloads\HashTab_v6.0.0.34_Setup.exe - путь к файлу, для которого мы считаем хеш-сумму.

Вариант через командную строку (без установки программ)

В том случае, если вам не хочется устанавливать какие-либо программы, то можно обойтись встроенными средствами Windows, для этого можно воспользоваться утилитой CertUtil.

MD5 или Message Digest 5 это 128-битный алгоритм хеширования разработанный в начале 90-х годов профессором Рональдом Ривестом. Как правило, представляется как последовательность из 32 шестнадцатеричных цифр, например:. Для того чтобы понять что такое MD5 сначала нужно разобраться с понятием хеширование.

Хеширование это процесс преобразования любого массива данных в выходную строку фиксированной длины. Это преобразование проводится с помощью, так называемых, хеш-функций. Такая функция на входе получает массив данных, а на выходе возвращает так называемый хеш (хеш-суму) – уникальную строку фиксированной длины.

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

Например, когда разработчик программного обеспечения публикует в сети свой программный продукт, вместе с ним он может опубликовать его хеш. Это позволит пользователям проверить целостность программы перед ее установкой. Ели программа была заражена вирусами или загрузилась с ошибками, ее хеш не будет соответствовать хешу, который был опубликован разработчиком программы.

История развития MD5

Алгоритм MD5 был разработан профессором Рональдом Л. Ривестом из Массачусетского технологического института в 1991 году. Данный алгоритм стал заменой предыдущей версии алгоритма MD4. С этого времени алгоритм обрел большую популярность и стал использоваться повсеместно.

Начиная с 1993 года, регулярно появляются исследования, которые обнаруживают все новые уязвимости в алгоритме MD5. На данный момент алгоритм MD5 считается уязвимым и постепенно заменяется алгоритмом SHA.

Как получить хеш MD5

Если вам необходимо получить MD5 хеш от обычной строки текста, то удобней всего использовать онлайн сервисы. Одним из таких сервисов является .

Для того чтобы получить MD5 хеш с помощью этого сервиса достаточно ввести строку в поле и нажать на кнопку «Hash». Поле этого появится хеш введенной строки.

Если же вам нужно получить MD5 хеш файла, то придётся использовать специальные программы, например, MD5summer ().

Работать с данной программой очень просто. Для того чтобы получить MD5 хеш файла достаточно запустить программу и выбрать нужный файл.

Контрольная сумма - это цифра или строка, которая вычисляется путем суммирования всех цифр нужных данных. Ее можно использовать в дальнейшем для обнаружения ошибок в проверяемых данных при хранении или передаче. Тогда контрольная сумма пересчитывается еще раз и полученное значение сверяется с предыдущим.

В этой небольшой статье мы рассмотрим что такое контрольная сумма Linux, а также как выполнять проверку целостности файлов с помощью контрольных сумм md5.

Контрольные суммы Linux с вычисляемые по алгоритму MD5 (Message Digest 5) могут быть использованы для проверки целостности строк или файлов. MD5 сумма - это 128 битная строка, которая состоит из букв и цифр. Суть алгоритма MD5 в том, что для конкретного файла или строки будет генерироваться 128 битный хэш, и он будет одинаковым на всех машинах, если файлы идентичны. Трудно найти два разных файла, которые бы выдали одинаковые хэши.

В Linux для подсчета контрольных сумм по алгоритму md5 используется утилита md5sum. Вы можете применять ее для проверки целостности загруженных из интернета iso образов или других файлов.

Эта утилита позволяет не только подсчитывать контрольные суммы linux, но и проверять соответствие. Она поставляется в качестве стандартной утилиты из набора GNU, поэтому вам не нужно ничего устанавливать.

Проверка контрольных сумм в Linux

Синтаксис команды md5sum очень прост:

$ md5sum опции файл

Опций всего несколько и, учитывая задачи утилиты, их вполне хватает:

  • -c - выполнить проверку по файлу контрольных сумм;
  • -b - работать в двоичном формате;
  • -t - работать в текстовом формате;
  • -w - выводить предупреждения о неверно отформатированном файле сумм;
  • --quiet - не выводить сообщения об успешных проверках.

Сначала скопируйте файл /etc/group в домашнюю папку чтобы на нем немного поэкспериментировать:

cp /etc/group groups

Например, давайте подсчитаем контрольную сумму для файла /etc/group:

md5sum groups > groups.md5

Затем каким-либо образом измените этот файл, например, удалите первую строчку и снова подсчитайте контрольные суммы:


Как видите, теперь значение отличается, а это значит, что содержимое файла тоже изменилось. Дальше верните обратно первую строчку root:x:0: и скопируйте этот файл в groups_list и

cp groups groups_list

Затем опять должна быть выполнена проверка контрольной суммы linux:

md5sum groups_list

Сумма соответствует первому варианту, даже несмотря на то, что файл был переименован. Обратите внимание, что md5sum работает только с содержимым файлов, ее не интересует ни его имя, ни его атрибуты. Вы можете убедиться, что оба файла имеют одинаковые суммы:

md5sum groups groups_list

Вы можете перенаправить вывод этой команды в файл, чтобы потом иметь возможность проверить контрольные суммы:

md5sum groups groups_list > groups.md5

Чтобы проверить, не были ли файлы изменены с момента создания контрольной суммы используйте опцию -c или --check . Если все хорошо, то около каждого имени файла появится слово OK или ЦЕЛ :

md5sum -c groups.md5

Но теперь вы не можете переименовывать файлы, потому что при проверке утилита будет пытаться открыть их по имени и, естественно, вы получите ошибку. Точно так же все работает для строк:

echo -n "Losst" | md5sum -
$ echo -n "Losst Q&A" | md5sum -

Выводы

Из этой статьи вы узнали как выполняется получение и проверка контрольной суммы linux для файлов и строк. Хотя в алгоритме MD5 были обнаружены уязвимости, он все еще остается полезным, особенно если вы доверяете инструменту, который будет создавать хэши.

Проверка целостности файлов Linux - это очень важный аспект использования системы. Контрольная сумма файла Linux используется не только вручную при проверке загруженных файлов, но и во множестве системных программ, например, в менеджере пакетов. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение небольшое видео

Уже не раз я сталкивался с ситуацией, когда ISO диск записывался с ошибками и новенький Linux просто не хотел нормально устанавливаться. Чтобы такого не происходило, после прожига диска нужно всегда проверять его MD5-хэш. Как можно проверить MD5 хэш ?


Для того чтобы вы могли проверить целостность файлов ISO, для каждого образа приведены значения MD5-хэша. Они представляют собой уникальные строки, которые будут совершенно другими, если хотя бы один-единственный байт в файле ISO изменится по сравнению с исходным файлом. У каждого образа свой уникальный MD5-хэш, который можно сравнить с отпечатками пальцев, которые у каждого человека индивидуальны. Если MD5-хэш не совпадает с образцовым, диск нужно перезаписать.

1. Как проверить MD5 хэш в Linux?

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

В программе Brasero, которая стоит в Ubuntu для прожига дисков, такая утилита есть. После прожига диска она предлагает проверить диск на целостность. Не стоит выключать эту функцию, хоть это и занимает время.

К случаю хочу обратить ваше внимание на интересный проект: http://redhat.axoft.ru/ - это JBoss Enterprise Middleware - это отличное программное обеспечение высшего уровня, которое предоставляет отличный набор инструментов для разработчиков веб-приложений.

2. Как узнать MD5 хэш в Windows?

Для проверки файлов в Windows можно загрузить утилиту, например . После ее установки вы сможете сравнить значения файлового хэша со строковым значением исходного образа ISO. Если значения одинаковы, можно быть уверенным, что файл представляет собой точную копию исходного образа диска.

3. Как узнать MD5 хэш в Mac OS X?

В Mac OS X можно применить программу Disk Utility (Дисковая утилита) из папки Utilities, перетащив мышью файл ISO на пиктограмму Disk Utility на панели Dock. Затем выберите файл ISO и перейдите в меню Images (Образы), в котором следует выбрать последовательность Checksum | MD5 (Контрольная сумма | MD5).

Полезные советы
Проигрыватели видео
Кодеки
Download-менеджеры
Torrent-клиенты
Настройки программ
Проверка целостности скачанных файлов

При скачивании мультфильмов (и вообще файлов из интернета) часто случается, что файл скачивается "битым" по тем или иным причинам. Чтобы наверняка удостовериться в идентичности скачанного файла файлу на сервере, необходимо сравнить их контрольные суммы. Для это цели можно использовать алгоритм подсчета контрольных сумм md5 . При добавлении мультфильма на сервер у него вычисляется эта самая контрольная сумма, увидеть ее можно на страничке информации о мультфильме. Чтобы вычислить эту контрольную сумму уже для скачанного файла на вашем компьютере, воспользуйтесь специально написанной нами программой:

  • (размер: ~ 87кб)

Программа не требует установки. Для пользователей операционных систем Linux, Unix, MacOS и других - аналогичные программы смотрите прямо в составе своей ОС.

Краткая инструкция по работе с программой MD5 File Checker:

Запускаем программу. На странице с любым мультфильмом в блоке информации о мультфильме находим поле с контрольной суммой md5 и копируем ее в буфер обмена.



Вставляем в поле для проверки №2. Выбираем файл, который хотим проверить в поле №1. Нажимаем кнопку "Проверить". В результате получаем сообщение с результатом работы программы. Например "MD5 сумма файла совпадает с контрольной суммой. Файл не поврежден" или "MD5 сумма файла не совпадает с контрольной суммой. Возможно, файл поврежден". Делаем выводы.

Дополнительная возможность программы - рассчет контрольной суммы md5 для произвольного файла и ее вывод пользователю.

Все вопросы по работе программы и найденных ошибках можно сообщить администрации сайта.