|
Контрольная сумма MD5. Что это такое и зачем она нужна
Алгоритм MD5 разработанный компанией RSA Data Security, Inc (Message Digest Algorithm 5 - улучшеная версия MD4) является алгоритмом вычисления хеш-функции (message digest). Чтобы не вдаваться в теоретические подробности, просто примем, что хэш-функции должны вычислять значения фиксированной длины - 128 бит для MD5, которые применяются в качестве удобных и относительно надёжных идентификаторов. Другими словами, применяется данный алгоритм (MD5) для различных целей - шифрование паролей, проверка целосности файлов, в приложениях криптографии и электронно-цифровых подписях для генерации ключа шифрования. При использовании алгоритма получаем хэш длиной 128 бит. Подразумевается невозможность нахождения двух величин с одинаковыми значениями MD5. Особенность алгоритма md5 заключается в том, что практически очень сложно, почти невозможно найти две строки, дающие одинаковый хеш (например два файла, у которых значение md5 будет одинаковым). Хотя ради справедливости стоить отметить, что для алгоритма MD5 существуют примеры нахождения коллизий (нахождение двух величин с одинаковыми хэш-значениями), но это не значит, что алгоритм MD5 непригоден для наших целей.
Более подробную информацию (с математическими выкладками) об алгоритме MD5 можно найти в сети по адресу www.faqs.org/rfcs/rfc1321.html (RFC 1321). А мы ограничимся описанием практического применения данного алгоритма. Каждый предлагаемый нами iso-образ или диск имеет характеристику - "Сумма MD5". Получив от нас диски, Вы всегда сможете проконтролировать их целостность (читай - качество) - как самого диска, так и iso-образа.
Определение суммы MD5 в Linux.
В линукс для проверки md5 существует команда md5sum, которая вычисляет и проверяет контрольную сумму файла, используя алгоритм MD5.
Синтаксис команды следующий:
md5sum [option] [file], где option:
-- help выводит список опций
-b, --binary считывает файл как двоичный
-t, --text считывает файл как текстовый (по умолчанию)
-c [file], --check [file] считывает имена файлов и контрольные суммы из файла file, выполняя сверку
Это перечень основных опций команды md5sum. При проверке контрольной суммы файла в качестве ввода используется прежний вывод этой команды. В качестве результата выдается строка с контрольной суммой, символ, указывающий тип файла (текстовый - пробел, или бинарный - звёздочка) и имя проверяемого файла.
Пример использования команды md5sum:


Определение суммы MD5 в Windows
Для операционок семейства Windows существует множество программ, позволяющих проверить сумму md5. Здесь мы рассмотрим только ;две маленькие программы некоммерческого характера.
Первая, совсем крохотная программа от etree.org весит всего лишь 48к - md5sum.exe и доступна для свободного скачивания. На странице программы подробно описано на английском языке как обращаться с md5sum.exe.
Вкратце продублируем, как проверить контрольную сумму iso образа с помощью этой программы в Windows NT/2000/XP. Загрузив программу по адресу www.etree.org/cgi-bin/counter.cgi/software/md5sum.exe, необходимо скопировать её в каталог C:/WINNT/system32, если вы работаете под win2k или winxp (или в каталог c:\windows\command для Windows 95/98/Me). Далее нажимаем Пуск -> Выполнить (комбинация клавиш Win+R) и в командной строке набираем cmd.exe, затем в открывшемся сеансе переходим в тот каталог, где находится проверяемый iso-образ. В этом же каталоге должен находиться файл контрольной суммы образа в формате .md5 - текстовый файл, например crux-2.0.md5, в строке которого сначала указано значение md5 а затем через пробел имя файла. Выглядит это примерно так: f4ae4fb95dbf3dc8419845d60c071a01 crux-2.0.iso.
Выполним команду: md5sum -c crux-2.0.md5. После некоторого раздумья программа выдаст ответ: crux-2.0.iso: OK, означающий, что контрольная сумма файла в порядке.
Скриншот, приводимый ниже, иллюстрирует наши действия:

Вторая программа MD5summer более функциональна и имеет графический интерфейс. Загрузить последнюю версию 1.2.0.5 в архиве можно по адресу http://homepages.ihug.co.nz/~floydian/md5/md5v12005.zip. Размер архива тоже невелик - 387к. Распаковав скачанный архив, запускаем файл md5summer.exe. В открывшемся окне программы нам предлагают проверить контрольную сумму файла, нажав кнопку Verify sums, что мы и делаем:

Предполагается, что файл контрольной суммы уже существует. В результате получаем еще одно окошко, в котором отображается процесс и результат проверки:

Статус выполнения отображается с помощью цветных кружков, расположенных перед проверяемым файлом. Зеленый кружок означает, что контрольная сумма файла соответствует той, что указана в файле контрольных сумм ( в нашем примере это файл crux-2.0.md5).
Настоятельно рекомендуем пользоваться вышеописанными приемами для контроля целостности своих файлов и дисков.
|