Что такое контрольная сумма (примеры, примеры использования и калькуляторы)

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

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


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


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

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

Это тест.120EA8A25E5D487BF68B5F7096440019

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

Это тестCE114E4501D2F4E2DCEA3E17B546F339

Как вы видите, даже незначительное изменение в файле приведет к совершенно другой контрольной сумме, что ясно показывает, что одна не равна другой.


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


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

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

В этом случае сравнение контрольных сумм поможет вам успокоиться. Предположим, что сайт, с которого вы загрузили файл, предоставляет данные контрольной суммы вместе с загружаемым файлом, и вы можете использовать калькулятор контрольных сумм (см. раздел "Калькуляторы контрольных сумм" ниже) для получения контрольной суммы загруженного файла.

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

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

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


Калькуляторы контрольных сумм


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

Одним из лучших бесплатных вариантов является Microsoft File Checksum Integrity Verifier, сокращенно называемый FCIV. Он поддерживает только криптографические хэш-функции MD5 и SHA-1, но именно они сейчас наиболее популярны. Полное руководство по проверке целостности файлов в Windows с помощью FCIV смотрите в нашем материале. Microsoft File Checksum Integrity Verifier - это программа командной строки, но она очень проста в использовании.

Вы также можете использовать программу certutil, встроенную в Windows. Это также инструмент командной строки, но его также легко использовать для проверки контрольной суммы MD5 файлов. В этой статье также описано, как сделать то же самое в Linux с помощью md5sum.

Еще один отличный бесплатный калькулятор контрольных сумм для Windows - IgorWare Hasher. Он полностью портативен, поэтому вам не придется ничего устанавливать (но вам понадобится программа для открытия файлов RAR, чтобы распаковать программу). Если вам неудобно работать с инструментами командной строки, этот инструмент, вероятно, будет лучшим выбором. Он поддерживает MD5 и SHA-1, а также CRC32. Вы можете использовать его для поиска контрольной суммы текста и файлов.

JDigest - это калькулятор контрольных сумм с открытым исходным кодом, который работает как в Windows, так и в macOS и Linux.

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

FAQВсе ли контрольные суммы уникальны?

Да. Только идентичные файлы будут иметь одинаковую контрольную сумму. Изменение чего-либо, кроме имени файла, приведет к получению другой контрольной суммы.

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

Калькуляторы контрольных сумм используют ряд алгоритмов, включая продольную проверку на четность, контрольную сумму Флетчера, Adler-32 и циклическую проверку избыточности (CRC).

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

Вы можете получить контрольную сумму сразу нескольких файлов с помощью команды MD5. Откройте терминал и введите md5, затем имя каждого файла (разделенное пробелами), затем нажмите Enter.

Ваше имя: *
Ваш e-mail: *
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: