img

Контрольная сумма: проверка MD5 хэша файла

Предположим, у вас есть увесистый дистрибутив софта в формате .iso, гигабайт на 5, например, и вы хотите передать его через сеть партнеру. Вы загружаете его на FTP сервер и даете ссылку партнеру, мол «На, скачивай, дружище!». Ваш партнер скачивает его и работает с ним. Думаете этого достаточно? Нет. Сейчас объясним почему.

p>

Зачем сверять контрольную сумму?

Дело в том, что при загрузке файла из сети файл может прилететь к вам побитым. Да –да, вы не ослышались. Любой .iso это так или иначе, набор блоков данных. И при скачивании, а особенно по нестабильному FTP, он может «крашнуться».

И чтобы избежать этого, используется следующий алгоритм передачи файла. Его последовательность такова:

  1. Владелец файла считает контрольную сумму рабочего файла (по MD5, например);
  2. Загружает файл на публичное хранилище и передает контрольную сумму получателю файла;
  3. Получатель файла скачивает файл, считает его контрольную сумму на своей стороне и сверяет ее с оригинальной, которую посчитал владелец файла;
  4. Получатель и Владелец кидают смешные стикеры в Telegram друг другу из стикерпака про лягушку Пепе.

Как работает контрольная - простым языком

Контрольная сумма - результат некой хэш – функции. Запомнили. Далее, что такое хэш – функция? Это функция, которая получает на вход массив данных, «прокручивает» эти данные по определенному алгоритму и дает на выходе битовую строку, длина которой задана заранее.

Не вдаваясь в подробности сложных алгоритмов, так это и работает:

Как работает контрольная - простым языком
  1. Массив данных на вход (файл);
  2. Магия внутри;
  3. Контрольная сумма на выходе!

Как рассчитать контрольную сумму?

Будем использовать криптографическую функцию MD5. Скачиваем утилиту WinMD5Sum по ссылке: https://sourceforge.net/projects/winmd5sum/. Установите ее и идем дальше.

Итак, вот мой заветный дистрибутив. Лежит в папке:

Как проверить контрольную сумму на деле

Запускаем WinMD5Sum:

Проверить контрольную сумму через WinMD5Sum

Тут все предельно просто. Просто в поле File Name выбираем наш дистрибутив и нажимаем кнопку Calculate.

Зачастую, как только вы выберите файл в поле File Name через кнопку поиску (три точки), то подсчет хэша начнется без нажатия на кнопку Calculate.
Контрольная сумма подсчитана WinMD5Sum

Огонь. Копируйте значение из поля MD5 Sum и сохраняйте себе отдельно. Теперь, по легенде, мы берем этот файл и отправляем другу/партнеру/коллеге. Выкладываем файл на FTP, а контрольную сумму передаем ему отдельно – по смс, емаил, в чате. Далее, давайте рассмотрим процесс с точки зрения получателя файла.


Как сверить контрольную сумму?

Мы получили файл и его контрольную сумму. Как ее проверить? Все так же, как и при расчете контрольной суммы! Сначала считаем контрольную сумму скачанного файла:

Контрольная сумма подсчитана WinMD5Sum

С одним лишь отличием. Теперь мы берем контрольную сумму которая была посчитана ранее, вставляем ее в поле Compare и нажимаем кнопку Compare:

Проверка контрольной суммы WinMD5Sum

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

Контрольная сумма не совпадает
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Еще по теме:
img
XMPP – это основа для создания приложений с обменом сообщениями в реальном времени. Узнайте, как этот протокол работает, его особенности, преимущества и почему его продолжают использовать спустя два десятилетия.
img
Улучшение сети: находите и устраняйте задержки с помощью Wireshark.
img
Рассказываем про рекомендации для DNS по безопасности и производительности
img
Рассказываем как работает Wi-Fi 2.4 vs 5 ГГц: что лучше и почему вай фай опасен для здоровья?
img
Что такое DevOps, что нужно знать и сколько получают DevOps - специалисты?