Что такое контрольные суммы для windows

Контрольная сумма: что это и почему это важно

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

Пред­ставь­те ситу­а­цию: вы при­хо­ди­те в мага­зин за науш­ни­ка­ми. Нахо­ди­те нуж­ные на вит­рине, про­бу­е­те их, вам всё нра­вит­ся. Вы про­си­те про­дав­ца при­не­сти такие же со скла­да, в упаковке.

Про­да­вец при­но­сит короб­ку, и вы пони­ма­е­те, что вас хотят обма­нуть. Упа­ков­ку явно до это­го вскры­ва­ли, в ком­плек­те не все про­во­да и наклад­ки, плё­ноч­ки сня­ты. Эти­ми науш­ни­ка­ми явно поль­зо­ва­лись до вас.

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

В мире инфор­ма­ции про­ис­хо­дит почти то же самое: товар на скла­де — это какие-то дан­ные, а спи­сок ком­плект­но­сти това­ра — это кон­троль­ная сум­ма, кото­рая пока­зы­ва­ет, изме­ня­лись эти дан­ные или нет. Если пони­мать, что это такое и как этим поль­зо­вать­ся, мож­но про­ве­рить под­лин­ность фай­ла и обез­опа­сить себя от под­де­лок, виру­сов и шпионов.

Как это работает

На самом деле имен­но кон­троль­ной сум­мы уже нет — это назва­ние нам доста­лось с тех вре­мён, когда для про­вер­ки точ­но­сти пере­да­чи дан­ных исполь­зо­ва­ли 7 бит вме­сто 8. Вось­мой бит был кон­троль­ным, и в нём нахо­ди­лась сум­ма пер­вых семи бит без учё­та стар­ших раз­ря­дов. Когда полу­ча­те­лю при­хо­ди­ла оче­ред­ная пор­ция дан­ных, он скла­ды­вал 7 бит и срав­ни­вал сум­му с вось­мым. Если они сов­па­да­ли, зна­чит, дан­ные, ско­рее все­го, пере­да­лись вер­но. Тогда линии свя­зи были не таки­ми надёж­ны­ми, как сей­час, и если что-то пере­да­ва­лось непра­виль­но, такие дан­ные нуж­но было отпра­вить зано­во. С тех пор и пошло поня­тие кон­троль­ной суммы.

Сей­час сум­му уже никто не исполь­зу­ет, а вме­сто это­го рабо­та­ют спе­ци­аль­ные программы:

  1. Берут дан­ные, для кото­рых нуж­но соста­вить кон­троль­ную сумму.
  2. По спе­ци­аль­но­му алго­рит­му эти дан­ные пре­вра­ща­ют­ся в одну стро­ку из символов.
  3. Эту стро­ку тек­ста при­кла­ды­ва­ют к исход­но­му фай­лу и гово­рят — ребя­та, вот кон­троль­ная сум­ма (то есть стро­ка). Если вы не уве­ре­ны, что всё ска­ча­ли пра­виль­но, проверьте.
  4. Те, кто ска­чал исход­ный файл, запус­ка­ют про­грам­му про­вер­ки кон­троль­ных сумм и гово­рят ей — вот файл, а вот его кон­троль­ная сум­ма, про­верь, пожа­луй­ста, всё ли тут правильно.
  5. Про­грам­ма сама состав­ля­ет кон­троль­ную сум­му по тому же алго­рит­му и срав­ни­ва­ет с вашей.
  6. Если кон­троль­ные сум­мы сов­па­да­ют — всё отлич­но, дан­ные в поряд­ке, мож­но поль­зо­вать­ся. Если нет — про­грам­ма выве­дет сооб­ще­ние, что сум­мы отли­ча­ют­ся. Это зна­чит, что во вре­мя ска­чи­ва­ния воз­ник­ла ошиб­ка или кто-то спе­ци­аль­но под­ме­нил исход­ные дан­ные, что­бы навре­дить вам.

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

Самый про­стой вари­ант орга­ни­зо­вать кон­троль­ную сум­му — исполь­зо­вать хеши, напри­мер, MD5. Мы уже гово­ри­ли про хеши в ста­тье про Фейс­бук и уте­рян­ные паро­ли, но MD5 — мно­го­гран­ная вещь, и в своё вре­мя его все исполь­зо­ва­ли для созда­ния кон­троль­ных сумм.

Но при­мер­но с 2006 года все ста­ли пере­хо­дить на дру­гие алго­рит­мы (CRC32, SHA-1, SHA-2 или MD5crypt). Дело в том, что уже есть мето­ды, кото­рые за при­ем­ле­мое вре­мя могут взло­мать MD5-хеш и сде­лать дру­гой файл с тем же раз­ме­ром и почти таким же содер­жи­мым, что и ваш. Это зна­чит, что зло­умыш­лен­ник может под­де­лать дан­ные таким обра­зом, что про­вер­ка кон­троль­ной сум­мы прой­дёт успеш­но и вы буде­те думать, что всё в порядке.

Читайте также:  Mac os keyboard layout switch

Почему это важно

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

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

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

Контрольные суммы файла

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

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

Мы не будем углубляться в техническую реализацию, достаточно знать, что применяя определенный алгоритм высчитывает некое значение однозначно описывающее данный файл. Оно всегда одинаковое для одних и тех же данных и называется контрольной суммой или хешем. Хотя самих алгоритмов хеширования существует множество, вот некоторые из наиболее часто встречающихся: MD5, CRC32, SHA-1, SHA256, BTIH.

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

Проверка контрольных сумм файлов в Windows

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

Проверка хеша файла в командной строке Windows

Начнем с самого простого способа не требующего установки дополнительного программного обеспечения. Начиная с Windows 7 есть возможность рассчитать контрольную сумму в командной строке используя встроенную утилиту certutil среди прочего умеющую вычислять хеш файлов. Просто запускаете командную строку и вводите следующую команду:

где [HashAlgorithm] может принимать одно из следующих значений: MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. Таким образом, чтобы узнать контрольную сумму файла Win10_1511_1_Russian_x32.iso расположенного в корне диска D:\ по алгоритму SHA-1 команда будет выглядеть так:

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

Читайте также:  Amd 3850 driver windows 10

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

Проверка хеша в программе MD5 File Checker

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

Через некоторое время программа выдаст вердикт. Основной минус программы, что она умеет использовать только алгоритм MD5, что иногда бывает недостаточно. Скачать MD5 File Checker можно здесь.

Расчет контрольных сумм в программе HashTab

Здесь уже используется немного другой подход, причем есть версия как для Windows так и для Mac OS. В Windows программа является расширением проводника, а на Mac является плагином для Finder. Покажем работу программы на примере Windows.

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

Причем программа умеет вычислять хеш по множеству алгоритмов, а какой будет использоваться, можно выбрать, щелкнув «Настройки». Так же есть возможность указать оригинальную контрольную сумму, если хеши совпадут, то появится зеленая галочка. Скачать HashTab и узнать последние новости можно с сайта программы.

Представленных вариантов вполне достаточно, для проверки целостности файлов в Windows. Единственное пожалуй упомянем, что Total Commander так же умеет вычислять CRC-суммы, соответствующие возможности находятся в меню «Файл».

Проверка хешей в Linux

Здесь так же можно воспользоваться консолью. В случае алгоритма MD5 достаточно выполнив команду.

Для хеш-сумм по алгоритму SHA-1 команда выглядит немного иначе.

В случае необходимости рассчитать циклическую контрольную сумму (CRC) используется команда

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

Напоследок расскажем о том, как можно убедиться, что скачанный с торрента или доставшейся из другого ненадежного источника дистрибутив Windows оригинальный и его не изменял кто-либо. Для этого идем на сайт Майкрософт где подписчики MSDN могут скачивать ее продукты. Находим нужный нам образ, обращая внимание на версию, дату, разрядность и язык. Когда нужный продукт будет найден, нажимаем на «Сведения» рядом с ним.

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

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

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

Что такое контрольная сумма

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

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

Читайте также:  Astra linux не запускается файловый менеджер

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

Для высчитывания контрольной суммы существует множество различных алгоритмов или так называемых хеш-функций. Самыми известными и популярными алгоритмы являются: CRC32, MD5, SHA-1 и SHA-2. Но, есть и множество других алгоритмов, некоторые из которых имеют широкое применения, а некоторые используются только для специфических задач. При этом часть существующих алгоритмов признаны устаревшими или уязвимыми и больше не используются. Так, алгоритм MD5 практически полностью перестал использоваться поскольку выяснилось, что он может выдавать одинаковые значения для разных входных значений.

Для примера продемонстрируем, как выглядит контрольная сумма на практике. Например, возьмем строку «Hello, world!» и высчитаем ее контрольную сумму с использованием нескольких популярных алгоритмов.

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

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

Если нужно проверить контрольную сумму какой-то строки (например, пароля), то проще всего воспользоваться онлайн сервисами. Найти такие онлайн сервисы можно в любом поисковике по запросу «hash online».

Для примера рассмотрим сайт http://www.sha1-online.com. На этом сайте есть строка, в которую нужно ввести исходные данные, и выпадающий список, где нужно выбрать какой алгоритм вы хотите использовать для получения хеш-суммы.

Чтобы проверить приведенную выше таблицу введем строку «Hello, world!», выберем алгоритм MD5 и нажмем на кнопку «hash».

В результате на экране появится строка со значением хеш-функции MD5.

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

Проверка контрольной суммы файла

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

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

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

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

Также HashTab позволяет сравнивать файлы. Для этого нужно нажать на кнопку «Сравнить файл» и выбрать другой файл.

Программа HashTab является бесплатной для личного пользования, некоммерческих организаций и студентов. Скачать программу можно на официальном сайте http://implbits.com/products/hashtab/.

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Спасибо за статью. Все очень понятно изложено.

Зачем нужна контрольная сумма, если она по размерам больше чем то, что передают?

Оцените статью