Контрольная сумма файла: что это такое и как проверить — компьютерные советы

Как посчитать контрольную сумму CRC32, CRC16, CRC8

Контрольная сумма файла: что это такое и как проверить - компьютерные советы

Для начала давайте немного разберёмся в теории. Итак, что же такое CRC? Если кратко, это одна из разновидностей подсчёта контрольной суммы. Контрольная сумма – это метод проверки целостности принятой информации на стороне приёмника при передаче по каналам связи. Например, одна из простейших проверок – использование бита чётности.

Это когда суммируются все биты передаваемого сообщения, и если сумма оказывается чётной, то в конец сообщения добавляется 0, если нечётной – то 1. При приёме также подсчитывается сумма битов сообщения, и сравнивается с принятым битом чётности. Если они отличаются, значит при передаче возникли ошибки, и передаваемая информация была искажена.

Но такой способ определения наличия ошибок – очень неинформативный и срабатывает не всегда, т.к. при искажении нескольких битов сообщения, чётность суммы может не измениться. Поэтому существует множество более «продвинутых» проверок, в том числе CRC.

По сути, CRC – это не сумма, а результат деления некого объёма информации (информационного сообщения) на константу, а точнее – остаток от деления сообщения на константу. Тем не менее, CRC исторически также называют «контрольная сумма».

В значение CRC вносит вклад каждый бит сообщения. То есть, если хотя бы один бит исходного сообщения изменится при передаче, контрольная сумма тоже изменится, причём существенно.

Это большой плюс такой проверки, так как он позволяет однозначно определить, исказилось исходное сообщение при передаче или нет.

Что такое исходное сообщение – понятно. Это непрерывная последовательность битов произвольной длины.

Что за константа, на которую мы должны делить исходное сообщение? Это некоторое число также любой длины, но обычно используются числа, кратные 1 байту – 8, 16 или 32 бита. Просто так легче считать, ведь компьютеры работают именно с байтами, а не с битами.

Константу-делитель обычно записывают в виде полинома (многочлена) вот таким образом: x8 + x2 + x1 + x0.

Здесь степень числа «x» означает позицию бита-единицы в числе, начиная с нулевой, а старший разряд указывает на степень полинома и отбрасывается при интерпретации числа.

То есть записанное ранее число – это не что иное как (1)00000111 в двоичной системе счисления, или 7 в десятичной. В скобках я указал подразумеваемый старший разряд числа, его не принято писать.

Вот ещё пример: x16 + x15 + x2 + x0 = (1)1000000000000101 = 0x8005 = 32773.

Обычно используются некие стандартные многочлены для разных типов CRC. Вот некоторые из них:

Алгоритм CRCОбразующий многочлен
CRC-16 0x8005
CRC-16-CCITT 0x1021
CRC-16-DNP 0x3D65
CRC-32-IEEE 802.3 0x04C11DB7
CRC-32C 0x1EDC6F41
CRC-32K 0x741B8CD7

В статье Википедии, посвящённой расчёту CRC, есть большая таблица образующих полиномов.

Так как же считать контрольную сумму? Существует базовый метод – деление сообщения на полином «в лоб» – и его модификации в целях уменьшения количества вычислений и, соответственно, ускорения расчёта CRC. Для начала мы рассмотрим именно базовый метод.

В общем виде деление числа на многочлен выполняется по такому алгоритму. Алгоритм вычисления контрольной суммы CRC:

  1. Создаётся массив (регистр), заполненный нулями, равный по длине разрядности (степени) полинома.
  2. Исходное сообщение дополняется нулями в младших разрядах, в количестве, равном числу разрядов полинома.
  3. В младший разряд регистра заносится один старший бит сообщения, а из старшего разряда регистра выдвигается один бит.
  4. Если выдвинутый бит равен «1», то производится инверсия битов (операция XOR, исключающее ИЛИ) в тех разрядах регистра, которые соответствуют единицам в полиноме.
  5. Если в сообщении ещё есть биты, переходим к шагу 3).
  6. Когда все биты сообщения поступили в регистр и были обработаны этим алгоритмом, в регистре остаётся остаток от деления, который и является контрольной суммой CRC.

Назовём этот метод расчёта CRC метод побитового сдвига или простой метод.

Рисунок иллюстрирует деление исходной последовательности битов на число (1)00000111, или многочлен x8 + x2 + x1 + x0.

Схематичное представление вычисления CRC на примере деления на многочлен x8 + x2 + x1 + x0

Кстати, проверить правильность расчёта CRC очень просто.

В пункте (2) описанного алгоритма мы должны вместо дополнения исходного сообщения нулями дополнить его битами рассчитанной контрольной суммы, а остальное оставить как есть.

Теперь остаток от деления дополненного сообщения на полином должен равняться нулю – это и есть признак верно рассчитанной контрольной суммы. Отличный от нуля остаток свидетельствует об ошибке.

Осталась ещё пара моментов, о которых стоит сказать. Как вы могли заметить, сообщение можно разделить на любое число. Как его выбрать? Существует ряд стандартных полиномов, которые используются при вычислении CRC. Например, для CRC32 это может быть число 0x04C11DB7, а для CRC16 это может быть 0x8005.

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

Также при расчётах непосредственно перед выдачей финальную контрольную сумму CRC можно поделить на какое-то другое число.

И последнее. Байты сообщения при записи в регистр могут помещаться как старшим битом «вперёд», так и наоборот, младшим. И результирующая CRC также может выдаваться, начиная со старшего бита или с младшего.

Изменение порядка битов в байте на обратный назовём «обращение», «реверс» или «отзеркаливание» байта.

Итого имеются 6 параметров, которые влияют на значение контрольной суммы:

  • порядок CRC;
  • образующий многочлен (его иногда называют «генераторный полином», переводя с английского буквально);
  • начальное содержимое регистра;
  • значение, с которым производится финальное XOR;
  • реверс байтов информационного сообщения;
  • реверс байтов CRC перед финальным XOR.

2Расчёт контрольной суммы CRC методом побитового сдвига

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

Как вы могли заметить, в данной реализации расчёта CRC используется LINQ, так что соответствующая ссылка должна быть добавлена в проект.

Предлагаемая программа плохо масштабируема. То есть она работает хорошо при вычислении контрольной суммы CRC для коротких сообщений, длиной до нескольких десятков килобайтов. Я писал её с целью только продемонстрировать работу простого алгоритма, и не занимался оптимизацией.

При расчёте CRC для длинного сообщения, размером десятки или сотни мегабайтов, программа будет сильно загружать процессор и память, т.к. всё сообщение целиком загружается в очередь. Этому способствует метод преобразования числа в битовую последовательность, используя Queue(Of Boolean).

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

Зато у этой программы есть одно преимущество: она может быть использована для расчёта CRC любого порядка, не обязательно 8, 16 или 32. Это может быть CRC5 или CRC49.

Только для чисел больше 32-х разрядов нужно изменить соответствующим образом входные параметры – допустим, poly передавать не как UInteger, а как ULong, или передавать его в виде битового массива (тогда теоретически порядок CRC вообще будет неограничен).

3Расчёт контрольной суммы CRC табличным методом

Для сокращения числа вычислений из предыдущего метода – метода побитового сдвига – придуманы некоторые оптимизации.

В частности, сдвигают не по одному биту за раз, а сразу по несколько. Наибольшую популярность снискали варианты, в которых сообщение сдвигается на число битов, кратное числу битов в байте: 8, 16 или 32, т.к. с байтами легче работать (не нужны дополнительные преобразования). При этом идея алгоритма осталась та же: сдвиг и исключающее ИЛИ с содержимым регистра.

Кроме того, оказывается, что часть расчётов можно провести заранее и записать в массив – таблицу, из которой по мере необходимости будет браться нужное число. Такой метод расчёта назвали табличный метод расчёта CRC.

Я не буду здесь вдаваться в теорию, она довольно сложна и много раз описана в других статьях.

В частности, очень хорошее и подробное описание бинарной арифметики, лежащей в основе расчёта CRC, и описание табличного метода, даётся в статье Ross N. Williams: «A Painless Guide to CRC Error Detection Algorithms».

Рекомендую к прочтению обязательно! Оригинальный текст – в приложении к статье, а русский перевод легко найти в интернете.

Ну что же, пришло время для самой программы. Она будет несколько длиннее предыдущей. По сути, это реализация алгоритма из указанной статьи в стиле объектно-ориентированного программирования. Опять же будем писать программу на моём любимом языке программирования VB.NET. Я назвал этот класс RocksoftCrcModel, по названию компании, в которой работал автор указанной статьи.

Этот код полностью готов к использованию, можно брать и применять. Пользоваться данной программой так:

  • создать экземпляр класса RocksoftCrcModel(), передав в конструктор параметры модели CRC;
  • для расчёта контрольной суммы, вызвать метод данного объекта ComputeCrc() или ComputeCrcAsBytes(), передав в качестве параметра информационное сообщение, для которого необходимо посчитать контрольную сумму;
  • если меняются параметры модели CRC, таблица автоматически пересчитывается, и новый экземпляр класса можно не создавать.

Приведу пример использования данного класса для алгоритма CRC16. В качестве сообщения message будем использовать массив байтов, который представляет собой строку «123456789» в коде ASCII, которая используется во многих онлайн-калькуляторах CRC:

Dim crcModel As New RocksoftCrcModel(16, &H8005, 0, True, True, 0) Dim message as Byte() = {&H31, &H32, &H33, &H34, &H35, &H36, &H37, &H38, &H39} Dim crc As UInteger = crcModel.ComputeCrc(message)

Читайте также:  Как убрать нумерацию с первой (титульной) страницы в ворде 2007, 2010, 2013 и 2016 - компьютерные советы

Данная реализация расчёта CRC была проверена мною путём сличения со многими онлайн-калькуляторами CRC (назовём это «слабой» проверкой, именно такое определение дано в вышеуказанной статье, когда проверка осуществляется на основании сравнения рассчитанной контрольной суммы с эталонной, при одинаковых исходных параметрах и сообщении).

Для любителей C# перепишем данный класс таким образом:

Данная программа на C# не тестировалась мной, в отличие от предыдущей, написанной на VB.NET. Этот код получен через декомпиляцию предыдущего. Если в нём обнаружатся какие-то ошибки, то пишите в комментариях или мне на почту, исправлю.

Прикладываю к статье полностью рабочий и готовый к использованию файл RocksoftCrcModel.vb с реализацией расчёта контрольной суммы CRC, который мы тут рассмотрели, а также RocksoftCrcModel.cs на C#.

4«Взлом» контрольной суммы CRC32 и CRC16

Кратко затронем вопрос «взлома» CRC32. И прежде всего давайте определимся с понятием «взлом» применительно к данному вопросу.

Если задача определения контрольной суммы некоторого массива данных – прямая задача, то «взлом» – это обратная задача, а именно: подгонка контрольной суммы под определённый массив данных.

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

Для начала нужно посчитать обычным образом контрольную сумму CRC32, CRC16 или любую другую, какая вам нужна, для этого изменённого файла. Пусть это будет C1.

Теперь нужно добавить такое же число нулевых байтов в конец файла, которое содержится в контрольной сумме (для CRC32 – 4 байта, для CRC16 – 2 байта, и т.д.). Можно простым перебором подобрать такое число C2, которое мы и запишем в эти нулевые байты.

Ведь понятно, что полный диапазон всех допустимых значений CRC32 укладывается в 232 ~ 4,295 млрд.

То есть за 4 с небольшим миллиарда итераций расчёта контрольной суммы с начальным содержимым регистра, равным С1, мы брутфорсом («в лоб», методом грубой силы) подберём нужное значение. При современных вычислительных мощностях это не составит проблемы. А уж «взломать» с помощью перебора CRC16 вообще дело нескольких секунд.

Можно ли разместить нулевые байты в середине или начале файла? Можно.

К операции XOR применим сочетательный закон: a XOR (b XOR c) = (a XOR b) XOR c, поэтому можно с успехом разбить файл на 3 части: до вставки, после вставки, и сама вставка.

Посчитать CRC для первых двух частей (C1 и C2 на иллюстрации), объединить их операцией XOR, заполнить этим числом начальное содержимое регистра, а затем «сбрутфорсить» CRC оставшейся третьей части X.

+——————+——+———+ | c1 | x | c2 | +——————+——+———+<\p>

Есть более интеллектуальный и изящный способ подогнать CRC под нужное значение.

Суть его в том, что вместо последовательного перебора всех подряд значений мы «прокручиваем назад» несколько раз (по числу байтов или битов контрольной суммы) наш табличный алгоритм или алгоритм побитового сдвига до тех пор, пока CRC не будет желаемой. На эту тему есть подробные и качественные материалы в сети.

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

На основе приведённого алгоритма была написана программа – калькулятор для расчёта контрольных сумм по алгоритмам CRC32, CRC16 и CRC8. Внешний вид окна приведён на рисунке. Программа работает под ОС Windows и требует .NET версии 3.5.

Интерфейс программы для расчёта контрольной суммы по алгоритмам CRC32, CRC16 и CRC8

Программа позволяет рассчитывать CRC массива байтов (введённого в поле «Сообщение») или указанного файла. Все рассмотренные выше параметры контрольной суммы настраиваются через интерфейс программы.

Ну и напоследок выкладываю ссылки на архив, в архиве лежат: программа «Калькулятор CRC», оригинальная статья «A Painless Guide to CRC Error Detection Algorithms», класс RocksoftCrcModel() на Visual Basic.NET и на C#.

Содержимое архива «CRC calculator.7z»

Итак, подведём итоги. В этой статье мы: – узнали, что такое контрольная сумма CRC и какие бывают её виды;

– научились считать CRC методом побитового сдвига и табличным методом; – узнали алгоритмы «взлома» CRC и сделали вывод о границах применимости контрольной суммы типа CRC.

Источник: https://soltau.ru/index.php/themes/dev/item/461-kak-poschitat-kontrolnuyu-summu-crc32-crc16-crc8

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

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

Особенно если этот файл является приложением.

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

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

Для осознанного использования технологии полезно понимать, что из себя представляет хеш. В общем случае хеш — это набор бит, получаемый в результате вычислений над информацией по определенному алгоритму.

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

Таким образом получается, что контрольная сумма — это как паспорт данных, сверившись с которым можно сделать вывод, что данные — подлинные.

Поэтому принцип использования хэшей довольно прост, и состоит из двух этапов:

1. Вычисление, сохранение и публикация контрольной суммы оригинальных данных.

2. Вычисление ее значения для копии данных и сверка со значением для оригиналов.

Существует много разных алгоритмов хеширования. И соответственно есть много разновидностей хеш-сумм. Наиболее популярные среди них — это CRC32, MD5, SHA-1 и пр.

Где применяются хеши?

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

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

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

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

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

Так например в программе uTorrent для этого есть специальный пункт в контекстном меню (появляющемся при нажатии правой кнопкой мыши на выбранном торренте).

При использовании архивов и торрентов хеширование проводится без участия пользователя.

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

Как создать MD5-хеш файлов с помощью MD5Checker?

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

Единственная максимально удобная программа для работы с MD5 — это приложение MD5Checker. Скачать программу можно с официального сайта. Несмотря на то, что программа имеет англоязычный интерфейс, пользоваться ей достаточно просто.

Программа по умолчанию настроена на хеширование программных файлов, архивов и ISO-образов.

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

Для этого нужно зайти в пункт меню «Tools / Options» и в поле «Include» указать символ  *  (что означает «все файлы»).

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

Для создания MD5-хеша нужно перетащить выбранные файлы из папки в окно программы — и программа автоматически начнет вычислять MD5-суммы для всех выбранных файлов и всех файлов в подпапках (удовлетворяющих заданной нами маске). Посчитанные суммы будут отображены в столбце «Current MD5» («Текущая MD5»). Теперь остается только сохранить полученные значения в файл, нажав кнопку «S To» («Сохранить в»).

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

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

Читайте также:  Как вирусы заражают компьютер - компьютерные советы

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

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

Для проверки контрольных сумм файлов нужно заново запустить программу либо нажать кнопку «Clear» для очистки списка файлов.

После этого следует перетащить MD5-файл в окно программы и удостовериться, что напротив каждого файла появилась зеленая галочка. Это означает что файлы хранятся в целости и сохранности. Если файлов довольно много, то контроль удобнее производить по счетчикам «Failed» и «Passed» («Не совпало» и «Совпало») в заголовке таблицы.

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

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

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

Стоит отметить, что если у Вас имеется несколько папок, в каждой из которых есть один или несколько MD5-файлов (в т.ч.

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

Это бывает крайне удобно, если осуществляется копирование или передача по интернету больших объемов информации.

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

Итоги

Технология хеширования  дает уникальную возможность контроля за сохранностью информации.

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

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

Источник: http://LiveLenta.com/chto-takoe-kontrolnaya-summa-xesh-i-kak-ee-proverit.html

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

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

Контрольные суммы образов Windows

Upd. 2017. Microsoft перенесла загрузки с MSDN на новый сайт https://my.visualstudio.com/downloads, где для доступа к образам требуется подписка. Поэтому без подписки приведенным ниже способом контрольную сумму узнать уже нельзя.

Microsoft публикует контрольные суммы своих продуктов на MSDN, указывая в качестве типа хеширования SHA1. Найдите поиском языковую версию и издание вашей Windows и щелкните Сведения, чтобы увидеть контрольную сумму ниже.

Это – половина дела.

Проверка контрольной суммы с помощью встроенной утилиты certutil

Рецептом поделился в комментариях читатель Салават. Утилита входит в состав Windows 7 и выше.

CertUtil -hashfile [путь к ISO]имя_файла.iso SHA1

Результат:

Утилита поддерживает хэш-алгоритмы MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512, любой из которых можно указать в качестве параметра. Подробная справка по команде:

certutil -hashfile -?

Проверка контрольной суммы с помощью утилиты File Checksum Integrity Verifier

У Microsoft, конечно, есть собственная утилита командной строки для вычисления и проверки контрольной суммы файлов — File Checksum Integrity Verifier (fciv.exe). Ее можно загрузить из KB841290 (где также подробно описан синтаксис), либо по прямой ссылке (41 кб). Далее я предполагаю, что вы знаете, куда распакована утилита, и где сохранен ISO-образ Windows.

Достаточно выполнить одну команду в командной строке (Пуск — Поиск — cmd):

fciv.exe –sha1 имя_файла.iso

Например, если утилита на рабочем столе, а ISO-образ в корне диска D, команда будет выглядеть так:

%userprofile%desktopfciv.exe –sha1 D:en_windows_7_ultimate_x86_dvd_x15-65921.iso

А результат – контрольная сумма файла:

Увеличить рисунок

Если не указывать параметр –sha1, утилита вычислит хеш MD5.

Как видите, все очень просто! Вы можете использовать этот способ для проверки контрольных сумм MD5 или SHA1 любых файлов.

Проверка контрольной суммы с помощью программы HashTab

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

  1. Загрузите и установите программу HashTab.
  2. Щелкните правой кнопкой мыши на файле образа и выберите пункт «Свойства».
  3. Перейдите на вкладку «Контрольные суммы» (File Hashes).

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

Источник: http://www.outsidethebox.ms/10527/

Как проверить хеш-суммы файла?

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

Например, вы скачали файл из интернета (образ игры, установочный образ ОС), вы можете быть уверенны, что в процессе скачивания файл не был поврежден и был полностью загружен? А ведь использование такого «неисправного» файла зачастую приводит к ошибкам при установке игры или ОС или чего угодно.

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

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

Для вычисления и сравнения контрольных сумм используются специальные программы. Самая распространенная из них это HashTab. Эта программа бесплатная. Скачать ее можно отсюда:

Скачать программу бесплатно

Для установки распакуйте архив и запустите файл установки программы.

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

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

Обратите внимание на появившуюся зеленую галочку. Это означает что хеш-суммы совпадают. Иначе вы увидите вот такой значок:

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

Источник: https://www.goodkomp.com/page/kak-proverit-hesh-summy-fajla

ExactFile программа для проверки целостности файлов

Категория ~ Технические советы– Автор: Игорь (Администратор)

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

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

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

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

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

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

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

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

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

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

Читайте также:  Не работает клавиатура, ремонт клавиатуры - компьютерные советы

Эта же техника используется и для проверки оригиналов и копий файлов на предмет целостности.

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

Для проверки каталогов, необходимо перейти на вкладку «Create TestFile Applet», после чего выбрать нужную директорию и алгоритм для вычисления значения контрольной суммы (по умолчанию это MD5). После чего нажать кнопку «Go». Начнется процесс вычисления контрольных сумм.

По окончанию процесса, в проверяемом каталоге будет создано два файла — «TestFiles.exe» (файл для запуска проверки сумм текущего каталога) и «checksums.exf» (файл, внутри которого будут перечислены все контрольные суммы файлов в данном каталоге). Теперь, для проверки целостности, вам достаточно запустить TestFile.exe.

В рамках проверки, будут отображаться не только измененные файлы, но и отсутствующие. Так что для если вам нужно будет проверить копию каталога, то достаточно скопировать эти файлы в каталог с копией и запустить «TestFile.exe».

Одним из возможных сценариев использования этой программы — это совместное использование с приложениями для резервного копирования. Алгоритм в данном случае будет достаточно простым.

Сначала вы запускаете ExactFile, которая создает апплет TestFile для проверки файлов и их данных внутри каталога. Затем выполняете резервное копирование файлов. И в конце запускаете TestFile.exe в резервной копии.

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

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

Примечание: В случае с полной резервной копией, вы можете использовать хитрость с созданием виртуального диска на основе архива, при помощи программы WinMount. И уже на виртуальном диске запустить проверку файлов. 

ExactFile особенно полезна для проверки целостности резервных копий файлов, при создании CD и DVD дисков. Так же ExactFile будет весьма полезна, при использовании программ синхронизации или же проверки целостности скопированных файлов через сеть.

В целом, ExactFile это отличная небольшая утилита с большим потенциалом.

Рубрики:

  • анализ
  • бэкап
  • копия
  • текст
  • файл

Источник: https://ida-freewares.ru/exactfile-programma-dlya-proverki-tselostnosti-vashikh-dannykh.html

Проверка контрольных сумм ISO образов

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

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

Таким образом, вы экономите свое драгоценное время и предостерегаете себя от нелепых казусов, возникших в процессе использования дисков на которых был записан тот или иной ISO образ.

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

Для сканирования контрольной суммы ISO образа, вам следует последовательно выполнить следующие шаги. Подробно описывать нет смысла, так как программа довольно простая и не требует глубоких познаний и серьезного описания. Однако давайте пошагово:

  1. Ищем на просторах всемирной паутины программу HashTab (или ей аналогичную программу, предназначенную для проверки контрольных сумм (или хеш-сумм) ISO образов), загружаем ее себе на компьютер и инсталлируем. Скачать программу можно, например, отсюда http://www.softportal.com/get-19546-hashtab.html, либо с официального сайта. Процесс установки достаточно простой и не требует описания;
  2. Далее жмем правой клавишей мыши на файл ISO образа и выбираем из всплывающего контекстного меню пункт «Свойства», где будет располагаться, новая вкладка, созданная программой HashTab;
  3. Переходим во вкладку «Хеш-суммы файлов», там будет указана хеш-сумма скачанного файла. Эта сумма является контрольной для того файла который вы скачали и даже в случае его нецелостности, он все равно будет иметь контрольную сумму;
  4. Копируем хеш-сумму из описания к ISO файлу (обычно, в теме, откуда вы скачиваете файл, указывается контрольная сумма ISO образа, так же контрольная сумма должно присутствовать на обратном обороте диска, если образ скопирован с диска и если диск является лицензионным), вставляем ее в поле «Сравнение хеша» и нажимаем кнопку «Сравнить файл…».

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

Самое интересно, что программа HashTab доступна как для пользователей операционной системы Windows, так и для ценителей MacOs. Поэтому HashTab является универсальным инструментом для проверки контрольных сумм ISO образов.

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

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

Впрочем, все эти программы довольно простые и не сильно широки в плане своей функциональности, поэтому, что бы вы ни выбрали, все это будет примерно одного поля ягода. Успехов вам и целостности информации!

Источник: https://osdaily.ru/materials/3320

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

Q
ВОПРОС:

A
ОТВЕТ:Действительно,

на некоторых сайтах, где предлагаются для скачивания полезные файлы, авторы описаний и/или владельцы этих файлов заботятся о том, чтобы у вас всё ПРАВИЛЬНО ПОЛУЧИЛОСЬ.

Это могут быть картинки, видео-ролики, музыкальные записи, дистрибутивы программ, игр, и даже установочные пакеты операционных систем в за-архивированном виде.

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

Вот пример одной из подобных страниц с описанием «Сборки» Windows, образ диска которой вам предлагают скачать. На странице есть пункт «КОНТРОЛЬНЫЕ СУММЫ»:

А ниже на этой странице есть пункт «Небольшой FAQ. Обязательно прочесть», в котором подробно расписано, почему и зачем проверять, а также, какой программой и как записывать этот «образ» установочного пакета на диск, чтобы всё получилось правильно.

О работе с файлами «Образов дисков» в формате *.iso (отдельная важная тема) подробно написано в статье: http://my.mail.ru/community/computer-faq/13C28C1999E07B6D.html

Здесь же вкратце напомню, что НЕ НАДО ТАКОЙ АРХИВ РАСПАКОВЫВАТЬ, т.к. вы утратите загрузочный сектор и диск перестанет быть загрузочным!!! Уточню для ясности, что скачанный вами архив в формате *.zip или *.rar распаковывать необходимо, а вот полученный в результате архив в формате *.iso не надо распаковывать.

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

Это особенно важно, если вы качаете файл через ТОРРЕНТ-КЛИЕНТ, т.к. в этом случае происходит дополнительное «Хэширование» файла средствами P2P.

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

Все эти «премудрости» подробно разъясняются в статье о скачивании файлов через Торренты: http://computer-faq.info/software/internet/torrents/

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

Для проверки контрольных сумм есть несколько программ.
Наиболее рапространена лёгкая программа Hash TAB (ссылка на скачивание есть ниже по тексту).

Она при установке встраивается в Проводник Windows.

Надо только щёлкнуть по скачанному файлу правой кнопкой мыши и выбрать команду СВОЙСТВА:

Затем перейти на вкладку КОНТРОЛЬНЫЕ СУММЫ — начнётся процесс их подсчёта:

В результате получим значения контрольных сумм, которые надо сравнить с указанными на сайте, откуда вы скачали файл (см. на верхнем скриншоте):

Сравниваем:

Важно понять, что если контрольные суммы не сошлись, то не стоит тратить время на работу с файлом (устанавливать с него программу или даже операционную систему), т.к. файл повреждён! Надо его скачивать заново!

Остаётся добавить, что в приличных «Сборках» данная программа устанавливается автоматически в процессе установки системы, т.к. считается очень полезной.

Если у вас такой программы нет, то скачать её можно с этой страницы:
http://computer-faq.info/software/download-useful-soft/

Желаю успехов!

Как удалить неудаляемую программуЧто такое типографская раскладка клавиатуры и как её использовать?

Источник: http://computer-faq.info/software/alernative-apps/control-sum/

Ссылка на основную публикацию