Что такое контрольная сумма (и почему вы должны ухаживать)?

Оглавление:

Что такое контрольная сумма (и почему вы должны ухаживать)?
Что такое контрольная сумма (и почему вы должны ухаживать)?

Видео: Что такое контрольная сумма (и почему вы должны ухаживать)?

Видео: Что такое контрольная сумма (и почему вы должны ухаживать)?
Видео: Социальная инженерия в действии. Основы психологии хакинга - YouTube 2024, Май
Anonim
Контрольная сумма представляет собой последовательность цифр и букв, используемых для проверки данных на наличие ошибок. Если вы знаете контрольную сумму исходного файла, вы можете использовать служебную программу контрольной суммы, чтобы подтвердить, что ваша копия идентична.
Контрольная сумма представляет собой последовательность цифр и букв, используемых для проверки данных на наличие ошибок. Если вы знаете контрольную сумму исходного файла, вы можете использовать служебную программу контрольной суммы, чтобы подтвердить, что ваша копия идентична.

Исправлены контрольные суммы

Чтобы создать контрольную сумму, вы запускаете программу, которая помещает этот файл через алгоритм. Типичные алгоритмы, используемые для этого, включают MD5, SHA-1, SHA-256 и SHA-512.

Алгоритм использует криптографическую хеш-функцию, которая принимает вход и создает строку (последовательность чисел и букв) фиксированной длины. Входной файл может быть небольшим размером 1 МБ или массивным файлом размером 4 ГБ, но в любом случае вы получите контрольную сумму той же длины. Контрольные суммы могут также называться «хэши».

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

Image
Image

Когда контрольные суммы полезны

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

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

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

В чем разница между суммами MD5, SHA-1 и SHA-256?

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

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

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

Пока еще не было сообщений о столкновении SHA-256, поэтому приложения теперь создают суммы SHA-256 вместо сумм MD5 и сумм SHA-1. SHA-256 - более сильный, более безопасный алгоритм.

Различные алгоритмы контрольной суммы дают разные результаты. Файл будет иметь разные контрольные суммы MD5, SHA-1 и SHA-256. Если вы знаете только сумму MD5 исходного файла, вы должны вычислить сумму MD5 вашей копии, чтобы проверить, соответствует ли она.

Image
Image

Как рассчитать контрольные суммы

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

В Windows, PowerShell's

Get-FileHash

команда вычисляет контрольную сумму файла. Чтобы использовать его, сначала откройте PowerShell. В Windows 10 щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Windows PowerShell». Вы также можете запустить ее, выполнив поиск в меню «Пуск» для «PowerShell» и щелкнув ярлык «Windows PowerShell».

В командной строке введите
В командной строке введите

Get-FileHash

а затем нажмите клавишу пробела.

Введите путь к файлу, для которого вы хотите вычислить контрольную сумму. Или, чтобы упростить задачу, перетащите файл из окна File Explorer в окно PowerShell, чтобы автоматически заполнить его путь.

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

Если вам нужен другой тип контрольной суммы, добавьте соответствующий

-Algorithm

вариант до конца команды, например:

Get-FileHash C:path ofile.iso -Algorithm MD5

Get-FileHash C:path ofile.iso -Algorithm SHA1

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

Image
Image

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

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