Как сравнить хеш суммы файла. Контрольная сумма

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

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

Зачем нужно знать Хеш- сумму файла?

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

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

Как только он убедился, что все отлично устанавливается и работает, он узнал «Хеш-Сумму» образа и указал её в описании к игре. У незнающих людей напрашивается вопрос, зачем он указала хеш -сумму образа?

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

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

И зачем мне его сравнить? Допустим, Вы скачали образ и естественно принялись за установку игры. Но в процессе установки начали появляться какие-то ошибки, что-то идёт не так. Все признаки того, что игра не установится, так как это нужно, либо установилась, но не запускается.

В общем, существую подобные проблемы…

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

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

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

Вот, отсюда все беды!

Идём на сайт, откуда качали файл, берём там хеш -сумму, после чего узнаём хеш скаченного файла и сравниваем их.

1) Если Хеш-Сумма оказывается разной, то соответственно загруженный файл 100% отличается от того, файла, который выложен на сайте. А это значит, загруженный файл работать не будет. Придётся скачать его заново.

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

ВАЖНО! Если Вы качаете образы Windows то, после загрузки настоятельно рекомендую узнать хеш -сумму и сравнить её, если суммы не совпадут, то лучше раз 100 подумать, стоит ли ставить windowsс подобного образа.

Иначе можно получить немало проблем в момент установки системы.

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

Как узнать и сравнить Хеш-Сумму файла.

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

Одну из таких программ хочу представить в этом посте. Программа, так скажем «Собственного производства» Сижу я вчера за ноутбуком, и понимаю, что я вроде как соскучился по «Кодингу» и решил, что на одну программу по сравнению Хеш-Сумм будет больше.

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

1 – Эта кнопка откроет диалоговое окно для выбора файлы.
2 – Эта кнопка нужна, если нужно удалить содержимое полей.
.
4 – Эта кнопка закроет программу.
5 – Эта кнопка нужна, если Вам нужно скопировать Хеш-Сумму в буфер.
6 – Эта кнопка наоборот, вставить Хеш-Сумму, для сравнения.

Что бы сравнить хеш -суммы, нажимаем кнопку «1» и выбираем файл, который был скачан. Программа определит его хеш -сумму в кодировке md5, и он появится в поле «Полученный Хеш».

Теперь в поле «Сравнить с:» вставьте хеш -сумму указанную в описании к скачанному файлу. Нажмите кнопку «Сравнить» и программа покажет результат и появится такое окно:

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

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

Как меняется Хеш-Сумма файла? (Для понимания)

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

Создадим файл «test.txt» и запишем в него любую строку, например из трёх символов «123». Теперь сохраним файл и посмотрим его размер, он составит всего «3 байта».

Так как один символ весит всего 1 байт и не важно, что это, символ или пробел.

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

И так, сохраняем файл со строкой «123» и смотрим его Хеш-Сумму. У меня она получилась такого значения.

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

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

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

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

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

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

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

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

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

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

ХЭШ СУММА

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

Http://implbits.com/products/hashtab/HashTab_v6.0.0.34_Setup.exe

где после перехода на сайт нужно кликнуть по кнопке “Download Now!”.

В появившемся поле вводим свой адрес электронной почты, на который придёт письмо с ссылкой на скачивание программы, и нажимаем кнопку “Send Download Link”.

Проверяем почту и видим письмо, в котором предоставляется URL адрес по которому мы можем скачать программу, размер программы и её контрольную сумму.

Скачиваем программу, указав при этом папку.

Извлекаем установщик программы из архива и запускаем его двойным нажатием левой кнопки мыши. В открывшемся окне установщика кликаем по кнопке “Next”.

В следующем окне соглашаемся с лицензией, кликнув на кнопку “I Agree”.

Выбираем папку для установки программы (лучше оставить по умолчанию) и нажимаем кнопку “Install”.

Завершаем установку нажатием кнопки “Finish”.

КОНТРОЛЬНАЯ СУММА

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

В открывшемся окне нажимаем на вкладку “Хеш-суммы файлов”.

Для больших файлов бывает нужно подождать несколько секунд для Хода вычисления хеша.

По завершению подсчёта, в окне “Значение хеша” мы увидим контрольную сумму для файла.

В “Настройках” программы можно добавить отображаемые дополнительные хэш-суммы и произвести более детальную её настройку (я оставляю по умолчанию).

Для того, чтобы сравнить контрольную сумму образа диска (в моем случае ), я иду на официальный сайт и ищу, где указана хеш сумма образа (на сайте нахожу размещённый файл “MD5SUMS”).

Открываю этот файл и ищу контрольную сумму для моего образа диска (это ubuntu-12.10-desktop-i386.iso).

Копирую её с сайта.

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

Проверить хеш-сумму 2 файлов можно ещё одним способом, нажав на кнопку “Сравнить файл”, выбрав в Проводнике нужный нам файл и кликнув на кнопку “Открыть”, и смотрим на полученный результат.

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

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

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

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

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

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

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

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

<путь к утилите>\fciv.exe -sha1 <путь к ISO>\имя_файла.iso

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

%userprofile%\desktop\fciv.exe -sha1 D:\en_windows_7_ultimate_x86_dvd_x15-65921.iso

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

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

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

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

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

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

В наш цифровой век, даже один жалкий байт может стоить много. Если в файле 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 образов. И даже если у вас есть несколько компьютеров, на которых установлены разные операционные системы, вам будет куда привычнее использовать одно программное обеспечение, нежели искать отдельные программы, предназначенные для разных операционных систем. В интернете довольно много аналогичных решений, что позволяет вам выбрать среди обилия практически одинаковых программ, отличающихся друг от друга разве что интерфейсом. Впрочем, все эти программы довольно простые и не сильно широки в плане своей функциональности, поэтому, что бы вы ни выбрали, все это будет примерно одного поля ягода. Успехов вам и целостности информации!