Контрольная сумма файла что это
Скачивая файлы, программы или образы дисков вы наверняка замечали, что вместе с данными файлами часто распространяют и какие-то зашифрованные строки, которые называются контрольными или хеш суммами. В данной статье мы расскажем о том, что такое контрольная сумма, для чего ее используют и как проверить контрольную сумму для строк или файлов.
Проверка контрольной суммы файла
Если вам нужно проверить контрольную сумму файла (например, образа диска или программы), то вам понадобится специальная программа, которая умеет высчитывать контрольные суммы. Самой популярной программой такого рода является HashTab.
После установки данной программы в свойствах файла появится новая вкладка «Хеш-суммы файлов», в которой будет отображаться хеш-сумма выбранного вами файла.
При этом пользователь можно изменить набор алгоритмов, которые программа HashTab использует для расчета хеш-суммы. Для этого нужно нажать на ссылку «Настройки», выбрать нужные алгоритмы и сохранить изменения с помощью кнопки «ОК».
Полученные значения контрольных сумм можно скопировать, для этого нужно кликнуть на значению с помощью правой кнопки мышки.
Также HashTab позволяет сравнивать файлы. Для этого нужно нажать на кнопку «Сравнить файл» и выбрать другой файл.
При скачивании ISO образов и архивов больших размеров всегда есть вероятность получить «битый» файл. Во времена Dial-UP такое было сплошь и рядом. И хотя сейчас такое случается намного реже, чтобы убедиться, что перед вами «оригинальный» файл придумали контрольные суммы, которые вычисляются на основе содержимого и позволяют заметить несоответствие даже одного байта.
То есть, если вы измените один байт в проверяемом файле, то и контрольная сумма такого файла так же изменится.
Считаем контрольную сумму в PowerShell
PowerShell — это средство автоматизации от Microsoft, с интерфейсом командной строки и языка сценариев, работает и включена в состав Windows 8 и новее.
Чтобы вычислить контрольную сумму файла необходимо выполнить команду Get-FileHash указав через пробел имя файла и алгоритм вычисления контрольной суммы:
Обратите внимание, что полный путь и имя файла лучше заключить в двойные кавычки.
По-умолчанию, если не указать тип контрольной суммы, то будет посчитана SHA-256.
Для алгоритмов вычисления контрольной суммы в Windows PowerShell поддерживаются следующие значения:
- SHA1
- SHA256 (по умолчанию)
- SHA384
- SHA512
- MD5
Для оформления вывода в виде списка можно использовать параметр | Format-List. Например:
Тогда результат работы будет выглядеть так:
Когда контрольные суммы полезны
Вы можете использовать контрольные суммы для проверки файлов и других данных на наличие ошибок, возникающих во время передачи или хранения. Например, файл может быть неправильно загружен из-за сетевых проблем или проблемы с жестким диском могут привести к повреждению файла на диске.
Если вы знаете контрольную сумму исходного файла, вы можете запустить проверку с помощью хеширующей утилиты. Если итоговая контрольная сумма совпадает, вы будете знать, что файл идентичен исходному.
Компьютеры используют «метод контрольной суммы» для проверки данных в фоновом режиме, но вы также можете сделать это сами. Например, для дистрибутивов Linux часто указывают контрольные суммы, поэтому вы можете проверить корректность загрузки ISO-образа, прежде чем записывать его на диск или помещать на USB-накопитель. Вы также можете использовать контрольные суммы для проверки целостности любого другого типа файлов, от приложений до документов и носителей. Вам просто нужно знать контрольную сумму исходного файла.
Как узнать контрольную сумму файла в Windows
Разумнее вычислить контрольную сумму локально на своем компьютере. Это быстро и конфиденциально. В этой статье я опишу несколько способов получения контрольных сумм, как с помощью сторонних программ, так и непосредственно с помощью самой операционной системы Виндовс.
Когда контрольные суммы полезны
Вы можете использовать контрольные суммы для проверки файлов и других данных на наличие ошибок, возникающих во время передачи или хранения. Например, файл мог быть неправильно загружен из-за проблем с сетью или проблемы с жестким диском могли вызвать повреждение файла на диске.
Если Вы знаете контрольную сумму исходного файла, Вы можете запустить для нее утилиту хеширования. Если полученная контрольная сумма совпадает, Вы знаете, что файл у Вас идентичен.
Компьютеры используют методы контрольной суммы для проверки данных на наличие проблем в фоновом режиме, но Вы также можете сделать это самостоятельно. Например, дистрибутивы Linux часто предоставляют контрольные суммы, чтобы Вы могли проверить правильно загруженный ISO-образ Linux, прежде чем записывать его на диск или помещать на USB-накопитель. Вы также можете использовать контрольные суммы для проверки целостности любого другого типа файла, от приложений до документов и носителей. Вам просто нужно знать контрольную сумму исходного файла.
Проверка контрольных сумм онлайн
Если нужно проверить контрольную сумму какой-то строки (например, пароля), то проще всего воспользоваться онлайн сервисами. Найти такие онлайн сервисы можно в любом поисковике по запросу «hash online».
Чтобы проверить приведенную выше таблицу введем строку «Hello, world!», выберем алгоритм MD5 и нажмем на кнопку «hash».
В результате на экране появится строка со значением хеш-функции MD5.
Не сложно заметить, что полученное значение полностью совпадает с тем, которое указано в таблице выше, хотя данные из таблицы были получены другим способом.
Выводы
Если вы сомневаетесь в целостности скаченных файлов из интернета, особенно когда это касается оригинальных образов операционных систем, то проверьте их контрольную сумму. Сделать это можно как с помощью уже имеющихся у вас программ, так и воспользовавшись встроенными средствами операционной системы Windows.
Контрольная сумма представляет собой последовательность цифр и букв, используемых для проверки данных на наличие ошибок. Если вы знаете контрольную сумму исходного файла, вы можете использовать служебную программу контрольной суммы, чтобы подтвердить, что ваша копия идентична.
Объяснение контрольных сумм
Чтобы получить контрольную сумму, Вы запускаете программу, которая обрабатывает этот файл алгоритмом. Типичные алгоритмы, используемые для этого, включают MD5, SHA-1, SHA-256 и SHA-512.
Небольшие изменения в файле приводят к иному виду контрольных сумм. Например, два разных текстовых файла, которые почти одинаковы, но у одного есть восклицательный знак, а у другого — точка будут иметь разные контрольные суммы. Разница в один символ в файле дает другую контрольную сумму.
Как подсчитать контрольную сумму файла из консоли Windows
Чтобы посчитать контрольную сумму совсем не обязательно устанавливать специальные программы. И если вы не пользуетесь упомянутыми выше, то можете рассчитать контрольную сумму прямо из командной строки операционной системы.
Например, чтобы посчитать контрольную сумму SHA1 с помощью утилиты CertUtil нужно запустить командную строку Windows 10, 8 или Windows 7 и ввести следующую команду:
Вот пример ее работы через несколько минут:
Формирование контрольной суммы файла
Чтобы создать контрольную сумму, следует запустить специальную программу, которая вычислит её, используя соответствующий алгоритм. Типичные алгоритмы, используемые для этого, включают MD5, SHA-1, SHA-256 и SHA-512.
Небольшие изменения в файле дают очень разные контрольные суммы. Например, мы создали два разных текстовых файла, которые почти одинаковы, но второй имеет дополнительный восклицательный знак.
После запуска встроенной утилиты расчета контрольных сумм Windows 10 мы увидели очень разные контрольные суммы. Различие в одном знаке базового файла даёт совершенно другую контрольную сумму.
Как рассчитать контрольные суммы
Если вы знаете контрольную сумму исходного файла и хотите проверить его на своем ПК, – это сделать очень просто. Windows, macOS и Linux имеют встроенные утилиты для генерации контрольных сумм. Вам не нужны сторонние приложения.
В Windows команда Get-FileHash в PowerShell вычисляет контрольную сумму файла. Чтобы использовать её, сначала откройте PowerShell. В Windows 10 щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Windows PowerShell». Вы также можете запустить его, выполнив поиск в меню «Пуск» для «PowerShell» и щелкнув ярлык «Windows PowerShell».
В командной строке введите Get-FileHash, а затем нажмите клавишу пробела.
Введите путь к файлу, для которого вы хотите вычислить контрольную сумму. Или, чтобы упростить задачу, перетащите файл из окна Проводника в окно PowerShell, чтобы автоматически заполнить путь.
Нажмите Enter , чтобы запустить утилиту, и вы увидите хэш SHA-256 для файла. В зависимости от размера файла и скорости вашего компьютера, процесс может занять несколько секунд.
Если вам нужен другой тип контрольной суммы, добавьте соответствующий параметр -Algorithm в конец команды, например:
Get-FileHash C:\path\to\file.iso -Algorithm MD5
Get-FileHash C:\path\to\file.iso -Algorithm SHA1
Сравните вычисленную контрольную сумму с исходной. Вам не нужно сверять все цифры, так как в контрольной сумме будет значительная разница, даже если в базовом файле будет изменение только в одном символе.
Если контрольная сумма совпадает, – файлы идентичны. Если нет, есть проблема – возможно, файл поврежден, или вы просто сравниваете два разных файла. Если вы загрузили копию файла, и его контрольная сумма не соответствует ожидаемой, попробуйте загрузить файл снова.
К онтрольная сумма — это последовательность цифр и букв, используемая для проверки данных на наличие ошибок. Если Вам известна контрольная сумма исходного файла, Вы можете использовать специальную утилиту чтобы убедиться, что Ваша копия идентична.
Файловый архиватор 7-Zip
7-Zip — свободный, бесплатный файловый архиватор с высокой степенью сжатия данных. Он поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA.
Этот архиватор имеет встроенную функцию вычисления контрольных сумм. Запустить ее можно прямо из контекстного меню Windows:
Если выбрать «звездочку», то программа подсчитает сразу несколько контрольных сумм:
Полученные данные можно выделить и скопировать в текстовый документ.
Получение хэша файла в командной строке с помощью CertUtil
В Windows присутствует встроенная утилита CertUtil для работы с сертификатами, которая, помимо прочего, умеет высчитывать контрольную сумму файлов по алгоритмам:
- MD2, MD4, MD5
- SHA1, SHA256, SHA384, SHA512
Для использования утилиты достаточно запустить командную строку Windows 10, 8 или Windows 7 и ввести команду в формате:
Пример получения хэша MD5 для файла показан на скриншоте ниже.
Дополнительно: на случай, если вам требуются сторонние программы для вычисления хэшей файлов в Windows, можно обратить внимание на SlavaSoft HashCalc.
Какой алгоритм вычисления контрольных сумм самый правильный
MD5, SHA-1, SHA-256 и прочие – это разные алгоритмы хеш-функции. Хэши являются результатом работы криптографических алгоритмов, и представляют собой строку символов. Часто эти строки имеют фиксированную длину, независимо от размера входных данных.
MD5 самый быстрый, считается устаревшим, а SHA-256 имеет наименьшую вероятность коллизии, когда два разных файла имеют одинаковую контрольную сумму.
Для проверки целостности файла вам следует использовать тот, который предоставляет издатель. Если у вас на выбор есть несколько контрольных сумм, то лучше выбрать в следующей последовательности MD5, SHA-1, SHA-256, последний вариант является более предпочтительным.
Что такое контрольная сумма
Контрольная сумма или хеш-сумма – это значение, которое было рассчитано по некоторому алгоритму на основе имеющихся файлов или данных. Особенностью контрольной суммы является то, что ее алгоритм, при одинаковых входных данных всегда выдает одинаковое значение. При этом малейшее изменение входных данных кардинально меняет значение контрольной суммы.
Также нужно упомянуть, что контрольную сумму нельзя использовать для получения исходных данных. То есть нельзя «расшифровать» хеш-сумму и получить данные которые были хешированы, хеш-сумму можно только сравнить с другой хеш-суммой. Это особенность открывает дополнительные возможности. Например, хеш-суммы используются для хранения паролей. Когда вы регистрируетесь на каком-то сайте и вводите свой пароль, то он не хранится на сервере в открытом виде. Вместо этого хранится только его контрольная сумма. А когда вы входите в свой аккаунт с использованием пароля, система получается ваш пароль, высчитывает его хеш-сумму и сравнивает с хеш-суммой, которая хранится на сервере. Если хеш-суммы совпали, значит пароль верный и вы можете войти в аккаунт, если хеш-суммы не совпадают, значит пароль не верный и вас перенаправляют на страницу для восстановления пароля.
Для высчитывания контрольной суммы существует множество различных алгоритмов или так называемых хеш-функций. Самыми известными и популярными алгоритмы являются: CRC32, MD5, SHA-1 и SHA-2. Но, есть и множество других алгоритмов, некоторые из которых имеют широкое применения, а некоторые используются только для специфических задач. При этом часть существующих алгоритмов признаны устаревшими или уязвимыми и больше не используются. Так, алгоритм MD5 практически полностью перестал использоваться поскольку выяснилось, что он может выдавать одинаковые значения для разных входных значений.
Для примера продемонстрируем, как выглядит контрольная сумма на практике. Например, возьмем строку «Hello, world!» и высчитаем ее контрольную сумму с использованием нескольких популярных алгоритмов.
Как видно, каждый алгоритм выдает значение, которое не имеет совершенно ничего общего с исходными данными. И сколько раз мы бы не высчитывали контрольную сумму строки «Hello, world!», мы каждый раз будем получать одни и те же значения.
Как вычислить контрольную сумму он-лайн
Контрольную сумму можно проверить он-лайн. Но я не буду рекомендовать этот способ, так как если размер вашего файла несколько ГигаБайт, то это займет много времени и всегда есть вероятность ошибки при передаче файла. Кроме того делиться своими файлами со сторонними сервисами не правильно.
Для чего нужны контрольные суммы
У контрольных сумм две задачи:
- Убедиться, что файл скачался корректно.
- Убедиться, что файл не был изменен злоумышленниками.
Зная контрольную сумму оригинала, можно проверить является ли ваша копия подлинной.
В чем разница между хешами MD5, SHA-1 и SHA-256
Контрольные суммы — это полезный способ убедиться, что в файле нет ошибок. Если ошибка возникает из-за проблем с загрузкой или проблем с жестким диском, результирующая контрольная сумма будет другой, даже если это небольшая ошибка.
Однако эти криптографические хеш-функции несовершенны. Исследователи безопасности обнаружили «коллизии» с функциями MD5 и SHA-1. Другими словами, они обнаружили два разных файла, которые производят один и тот же хэш MD5 или SHA-1.
Это вряд ли произойдет случайно, но злоумышленник может использовать эту технику, чтобы замаскировать вредоносный файл. Вот почему не следует полагаться на суммы MD5 или SHA-1 для проверки подлинности файла — только для проверки на наличие повреждений.
Различные алгоритмы контрольной суммы дают разные результаты. Файл будет иметь разные контрольные суммы MD5, SHA-1 и SHA–256. Если Вам известна только сумма MD5 исходного файла, Вы должны вычислить сумму MD5 своей копии, чтобы проверить, совпадает ли она.
Как рассчитать контрольную сумму
Если Вы знаете контрольную сумму исходного файла и хотите проверить ее на своем компьютере, Вы можете легко это сделать. Windows, macOS и Linux имеют встроенные утилиты для генерации контрольных сумм. Вам не нужны сторонние утилиты.
В Windows команда PowerShell Get-FileHash вычисляет контрольную сумму файла. Чтобы использовать ее, сначала откройте PowerShell. В Windows 10 щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Windows PowerShell». Вы также можете запустить его, выполнив поиск в меню «Пуск» по запросу «PowerShell» и щелкнув ярлык «Windows PowerShell».
Get-FileHash входит в состав Windows 10. Но в Windows 7 Вам необходимо установить обновление PowerShell 4.0.
В командной строке введите Get-FileHash и нажмите клавишу пробела.
Введите путь к файлу, для которого Вы хотите вычислить контрольную сумму. Или, чтобы упростить задачу, перетащите файл из окна проводника в окно PowerShell, чтобы автоматически указать путь к нему.
Нажмите Enter, чтобы запустить команду, и Вы увидите хэш SHA-256 для файла. В зависимости от размера файла и скорости памяти Вашего компьютера процесс может занять несколько секунд.
Если Вам нужен другой тип контрольной суммы, добавьте соответствующую опцию -Algorithm в конец команды, например:
Сравните рассчитанную контрольную сумму с исходной. Не нужно смотреть слишком внимательно, так как будет большая разница в контрольной сумме, даже если в базовом файле будет только крошечная разница.
Если контрольная сумма совпадает, файлы идентичны. Если нет, значит проблема — возможно, файл поврежден или Вы просто сравниваете два разных файла. Если Вы скачали копию файла и ее контрольная сумма не соответствует ожидаемой, попробуйте загрузить файл еще раз.
Хэш или контрольная сумма файла — короткое уникальное значение, вычисляемое из содержимого файла и обычно использующееся для проверки целостности и соответствия (совпадения) файлов при загрузке, особенно если речь идет о больших файлах (образы системы и подобные), которые могут быть скачены с ошибками или есть подозрения о том, что файл был подменен вредоносным ПО.
На сайтах загрузок часто бывает представлена контрольная сумма, вычисленная по алгоритмам MD5, SHA256 и другим, позволяющая сверить загруженный файл с файлом, выложенным разработчиком. Для вычисления контрольных сумм файлов можно использовать сторонние программы, но есть способ сделать это и стандартными средствами Windows 10, 8 и Windows 7 (требуется версия PowerShell 4.0 и выше) — с помощью PowerShell или командной строки, что и будет продемонстрировано в инструкции.
В чем разница между MD5, SHA-1 и SHA-256
Контрольные суммы – это полезный способ убедиться, что файл не имеет ошибки. Если случайная ошибка возникает из-за проблем с загрузкой или проблем с жестким диском, итоговая контрольная сумма будет отличаться, даже если это всего лишь «одна небольшая ошибка».
Однако, эти криптографические хэш-функции не идеальны. Исследователи безопасности обнаружили «изъяны» в функциях MD5 и SHA-1. Они обнаружили два разных файла, которые дают один и тот же результат для хэша MD5 или SHA-1, но отличаются друг от друга.
Это вряд ли произойдёт случайно, но злоумышленник может использовать эту технику для маскировки вредоносного файла. Вот почему вы не стоит полагаться на суммы MD5 или SHA-1 при проверке аутентичности файла.
Различные алгоритмы контрольной суммы дают разные результаты. Файл будет иметь разные контрольные суммы MD5, SHA-1 и SHA-256. Если вы знаете только сумму MD5 исходного файла, вы должны вычислить хэш MD5 вашей копии, чтобы проверить, соответствует ли она оригиналу.
Получение контрольной суммы файла средствами Windows
Для начала потребуется запустить Windows PowerShell: проще всего использовать поиск в панели задач Windows 10 или меню Пуск Windows 7 для этого.
Команда, позволяющая вычислить хэш для файла в PowerShell — Get-FileHash, а чтобы использовать ее для вычисления контрольной суммы достаточно ввести ее со следующими параметрами (в примере вычисляется хэш для образа ISO Windows 10 из папки VM на диске C):
При использовании команды в таком виде, хэш вычисляется по алгоритму SHA256, но поддерживаются и другие варианты, задать которые можно с помощью параметра -Algorithm, например, для вычисления контрольной суммы MD5 команда будет выглядеть как в примере ниже
При этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell
- SHA256 (по умолчанию)
- MD5
- SHA1
- SHA384
- SHA512
- MACTripleDES
- RIPEMD160
Файловый менеджер Total Commander
Total Commander — это популярный файловый менеджер, работающий на платформах Microsoft Windows и Android. В нем есть встроенная функция вычисления контрольных сумм.
После чего вы можете выбрать один из алгоритмом вычисления контрольных сумм.
По-умолчанию Total Commander создает файл с именем проверяемого и с расширением по имени выбранного алгоритма расчета контрольной суммы.
Читайте также: