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

Оглавление:

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

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

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

Image
Image

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

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

Давайте начнем с простого примера, который, надеюсь, продемонстрирует силу контрольных сумм для доказательства того, что что-то изменилось. Контрольная сумма 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. Вы можете использовать его для поиска контрольной суммы текста и файлов.

Image
Image

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

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

FAQ

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

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

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

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

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

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

Рекомендуемые: