Контрольная сумма файла. Что это?
А вы, слышали о контрольной сумме файла? Этот термин очень часто встречается на просторах сети и все постоянно зачем-то ее рассчитывают. В этой статье мы разберемся что же это такое и определим, какую пользу можно извлечь, работая с контрольными суммами.
Что такое контрольная сумма файла?
Контрольная сумма (часто называют «хеш») — предназначена для контроля целостности передаваемых данных и представляет собой некое значение, которое было рассчитано при помощи специальных алгоритмов. Среди алгоритмов, которые чаще всего применяются, есть CRC32, MD5 и SHA-1.
CRC32 — переводится как циклический избыточный код, он применим для архиваторов.
MD5 — очень распространенный алгоритм, у которого есть множество применений. Его можно использовать даже для идентификации файлов. Это удобно при поиске идентичных документов и файлов, достаточно только сравнивать одинаковые контрольные суммы.
SHA-1 — с помощью него проверяют целостность данных во время загрузки через торренты.
- Контрольная сумма — это сумма, выводимая в результате работы одного из известных алгоритмов (избыточный код). Любые данные, которые передаются цифровым способом, отправляются фрагментами и нередки случаи, когда эти фрагменты теряются по дороге. Хеш предназначен для проверки целостности данных и выявления поврежденных фрагментов.
- Специальный алгоритм рассчитывает сумму полученного файла, если она совпадает с контрольной суммой оригинала, значит передача прошла успешно. Если файл (или его фрагмент) имеет отличающийся, от оригинального, хеш, то появляется ошибка контрольной суммы. Она гласит о нарушении целостности файла. Сейчас мы немного заглянем в теорию возникновения ошибок подобного рода.
- Самое интересное, что такая ошибка может возникнуть задолго до передачи данных. Например, при записи со сменного носителя (флешки, диска), файл уже может некорректно записаться и его хеш будет отличаться от оригинала. Причины этому могут быть разными.
- При попытке открыть такой файл, начать установку, или воспроизвести его может и ничего не произойти, а могут начаться и серьезные глюки. Мало кому понравится, если в середине игры окажется серьезная ошибка, которая не позволит пройти ее до конца.
- А еще, несоответствие контрольной суммы может говорить о том, что файл не оригинальный, или в нем выполнялись определенные действия. К примеру, могли прицепить компьютерный вирус. Что тоже не сильно приятно.
Почему возникает ошибка контрольной суммы?
Давайте немножко углубимся в тему. Многим известно, из курса школьной физики, что вокруг любого проводника, через который течет электрический ток, образуется магнитное поле. Если такой проводник намотать на катушку, получится достаточно сильный магнит. Но при обычных условиях, это поле незаметно, по крайней мере для человека. Любой проводник, по соседству, сразу же воспринимает это поле и в нем образуются побочные токи. Это называется помехами. Производители разными способами пытаются снизить их влияние, но они практически всегда присутствуют.
А теперь возьмем любой компьютер, в котором и так места нет, так еще и куча проводов плотно набито. Если даже хозяин пк их красиво уложил, то это никак не улучшает ситуацию. По ним текут разные токи, с разными потенциалами и разным направлением. Одни предназначены для питания, другие передают информацию. В этой коробочке, под названием компьютер, просто хаос невидимых магнитных полей. И все они мешают друг другу, постоянно создают помехи.
Эта ситуация может показаться фантастической, но такова реальность любой электроники. И самое интересное, что эти помехи считываются системой как реальные сигналы, распознаются и записываются к передаваемому файлу. Чтобы снизить вероятность постоянных наводок, лучше всего размещать все провода как можно дальше друг от друга.
Можно пойти еще более сложным способом и заменить все провода на экранированные. Они имеют плотную медную оплетку, которая как экран принимает любые помехи на себя и выводит их на корпус компьютера. Правда это сработает только при заземлении этого корпуса, когда питание компьютера подключено через трехпроводную сеть. Профи или те, кто хоть немного разбирается в электронике, для борьбы с помехами, могут воспользоваться ферритовыми сердечниками и кольцами. Хотя подобна мера будет уже посложнее.
На современных операционных системах возникновение подобных ошибок очень маловероятно и может быть связанно с подменой файла или нестабильным интернет соединением. Ошибки, возникающие из-за внутренних помех компьютера, довольно легко исправляются программным путем и не представляют проблемы для пользователя.
Но этого нельзя сказать о старых операционных системах. Если вам приходится использовать старенький DOS, ошибка может доставить немножко проблем. Как правило, причина связанна с тем, что система выполняет сброс скорости обмена данных с производительного режима DMA, на очень непроизводительный PIO. Это режим не отличается большой скоростью и не поддерживает работу с контрольными суммами. Исходя из этого, целостность данных не контролируется.
Можно проверить, какой ражим используется для передачи данных с оптических дисков. Откройте меню «Пуск» и выберите «Панель управления». В следующем окне, откройте раздел «Система» и перейдите в «Диспетчер устройств», выберите «Первичный канал IDE», нажмите на «Свойства» и в окне свойств, откройте вкладку «Дополнительные параметры».
Все параметры должны выглядеть следующим образом:
Режим передачи обязательно должен иметь параметр «DMA, если доступно». Если этот режим никак не выставляется, то следует задуматься о покупке нового привода.
К примеру, вы скачали из сети игру или приложение и хотите проверить целостность файла, насколько корректно он был скачан и не было ли каких-либо ошибок при передаче. Вот здесь и приходят на помощь контрольные суммы. Берете хеш своего файла и сравниваете его с тем, что предоставляет раздающий или автор программы. Если они совпали, то все хорошо, если нет, то приложение может иметь серьезные ошибки и его лучше скачать заново. Такие действия позволят предугадать и избежать появление возможных глюков и зависаний в программе (или игре).
Чтобы узнать и проверить контрольную сумму нужного файла, используют специальные утилиты. Сейчас мы рассмотрим самые проверенные из них.
HashTab — программа для проверки контрольная сумма файла
Эта простенькая программа встраивается в систему и позволяет воспользоваться проверкой контрольных сумм в любой удобный момент.
Скачать данную утилиту можно на сайте разработчиков: hashtab.ru На этом ресурсе, нажимаем на ссылку «Скачать для Winodws» и сохраняем файл установки на свой компьютер.Запускаем скачанный файл и производим установку программы.
После этого, в контекстном меню любого файла, можно выбрать свойства и найти раздел с хеш-суммами. По умолчанию, там будут три основных типа сумм, которые мы упоминали выше.
Например, так выглядят контрольные суммы для файла Microsoft Office Word, с расширением docx.
Чтобы проверять эти суммы на соответствие, ниже находятся специальное поле. В него необходимо вставить оригинальный хеш и нажать на кнопку «Сравнить файл».
Если файл соответствует введенной контрольной сумме, то рядом с полем должна появиться зеленая галочка. Если файл не совпадает по контрольным суммам, то появится красный крестик.
В случае несовпадения хеша, нужно заново скачать данный файл и повторить эту проверку. На этой же вкладке можно настроить вычисление контрольной суммы. Нажмите на ссылку «Настройки».
Откроется окошко, в котором можно выбрать, из списка, какие типы хеша будут отображаться в основном окне свойств и использоваться для проверки соответствия файлов. Здесь же можно включить отображение хеш-сумм строчными символами.Программа очень простая в управлении и сможет выручить в любой момент, достаточно только зайти в свойства файла.
Проверяем хэш файла с помощью утилиты MD5 FileChecker
Есть еще одна полезная программа, которая может помочь проверить контрольные суммы MD5. Отличительной чертой данной утилиты, является возможность работы без установки. Загрузить ее можно здесь:
После загрузки можете сразу же запустить.
Нажмите на кнопку «Обзор…» и выберите файл для проверки. Далее нажимаете на «Рассчитать» и через некоторое время (пока программа вычисляет сумму) появится полученное значение MD5 для данного файла.
Теперь, чуть ниже, в соответствующее поле, вставляем контрольную сумму алгоритма MD5 и делаем клик по кнопке «Проверить». Если все Ок, то появится сообщение о совпадении сумм и о том, что файл не поврежден.
Если это не так, то появится сообщение следующего вида.
Так что смело устанавливаем игру или программу на свой компьютер только в том случае, если фактическая сумма совпадает с контрольной
Итог
Теперь вы разобрались что такое контрольная сумма и узнали для чего она предназначена. И вы можете извлечь пользу вычисления подобных сумм, определяя целостность скачанных данных. В этом помогут упомянутые, в данной статье, программы HashTab и MD5 FileChecker. Плюс первой, ее способность работать разными типами алгоритмов, для вычисления хеша. Но зато вторая, хоть и работает только с MD5, но зато способна запускаться без установки на компьютер. Это плюс, если вы не хотите слишком засорять свою систему множеством программ.
Если возникли вопросы, то можете смело их задавать в комментариях.