Контрольный файл

Восстанавливаем контрольный файл

Контрольный файл

Владимир Пржиялковский

Потеря или повреждение контрольного файла- это первая неприятность, которая вас может ожидать при попытке стартовать экземпляр СУБД Oracle. Обнаруживается она сразу при попытке монтировать систему: в ответ на startup mount в svrmgrl или в sqlplus вы получите сообщение типа

ORA-00205: error in identifying controlfile, check alert log for more info

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

Контрольный файл (control file, можно еще сказать 'файл контроля корректности состояния СУБД', это более правильно, но несколько длиннее) – это файл со специальной 'базой данных', с информацией о текущем состоянии таких объектов СУБД, как табличных пространств, файлов – с данными и журнальных.

Один из важнейших отслеживаемых контрольным файлом параметров является 'последовательный номер изменений в системе' (system change number, SCN).

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

При запуске СУБД система сравнивает SCN из заголовка файла с SCN, записанным для этого файла у себя. Если номер в файле оказывается старше положенного, требуется восстановление файла с данными. Если в этой ситуации подменить контрольный файл старой версией, можно получить сообщение об ошибке 'контрольный файл устарел'. Это то, что касается синхронизации файлов системы. Но в контрольном файле хранится еще и другая информация о СУБД – например, максимальное число файлов в группе журнала и прочее.

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

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

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

Итак, что же делать, если неприятность с контрольным файлом не дает возможности монтировать систему (вспомним, что именно актом чтения контрольного файла отличается обработка startup mount от startup nomount) ?

Действие 1. Для начала нужно определиться с наличием контрольных файлов и с тем, какой именно файл вызвал неприятность. Так как система неработоспособна, придется обратиться к файлу INIT.ORA или CONFIG.ORA и найти там предложение control_files = ( : ) с перечнем зеркальных копий файла, или с указанием одного, когда зеркальных копий нет.

Затем нужно обратиться в 'журнал для регистрации поступающих сигналов с мест' (alert log).

Обычно он расположен в каталоге ORACLE_BASE/ORACLE_SID/admin/bdumb, но может быть и в другом месте, например, указанным в параметре background_dump_dest в INIT.ORA или CONFIG.ORA (в версиях 8.

0 и раньше в Windows NT он может быть ни там, ни там, но его легко найти) – в файле alert_ORACLE_SID.log. Там обнаружится сообщение типа такого:

ORA-00202: controlfile: 'E:\Oracle\oradata\db1\control01.ctl'

ORA-27041: unable to open file

OSD-04002: unable to open file

O/S-Error: (OS 2) The system cannot find the file specified.

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

Файл, на который грешит Oracle, отсутствует, но имеется хотя бы одна его копия.

Перейти к действию 2.

Файл, на который ругается Oracle, в наличии, но поврежден.

Если повреждение файла неочевидно, заключение об этом становится субъективным, то есть делом выбора (интуиции, опыта) АБД. Убедиться в правильности выбора тогда поможет 'игра в подстановки' копий контрольного файла, описанная в действии 2. С этого момента прежде чем двигаться дальше настоятельно рекомендуется снять копии всех имеющихся контрольных файлов.

Если все оперативные (online) журнальные файлы на месте, то, возможно, наиболее простой сценарий дальнейших действий – убедиться в наличии всех файлов с данными и журнальных файлов (действия 3 и 4) и пересоздать контрольный файл командой create controlfile (действия 5 и 6).

Контрольные файлы либо полностью отсутствую, либо все имеют разные размеры и даты изменений.

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

Последнее возможно, если (надо надеяться) при резервном копировании вы не забывали выполнять backup control file to trace(по этой команде создается SQL-последовательность для регенерации контрольного файла).

Если этого не делалось, приходится переходить к действию 7, а если да (вы делали backup) – то к действиям с 3-го по 6-е).

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

Поначалу смотрим в журнале alert log, какой файл негоден (см. выше). Пробуем подставить на его место годный (по нашему мнению) файл и 'выливаем воду из кастрюльки' – делаем startup mount.

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

Если стартовать Oracle получились – прекрасно; если нет – переходим на действия 3 – 6 по созданию контрольного файла заново.

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

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

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

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

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

Действие 4. Восстанавливаем файлы данных или журнала, оказавшиеся негодными. Еще раз: если вы не уверены, что какие-то из файлов негодны, и что весьма вероятно, что с файлами все нормально, то можете, при желании, перейти сразу к действию 5, и при неудаче вернуться снова сюда. Беды от этого не будет.

Для начала определимся с наличием файлов. Перечень файлов, которые должны иметься, можно получить, войдя в svrmgrl или в sqlplus (в последнем случае рекомендуется выдать sqlplus /nolog), выдав connect internal, а затем последовательно

select name from v$datafile;

select group#, member from v$logfile;

(Вспомним, что v$-'таблицы' физически хранятся не в файлах, а в SGA, и доступны поэтому и при неоткрытой БД).

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

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

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

Это хорошая ситуация. Если в группе имеются и ненормальные журналы, обычной командой ОС copy на их место копируются нормальные. Зеркалирование пригодилось !

Хотя бы одна группа повреждена целиком.

Это плохая ситуация, так как создание контрольного файла (действие 5) требует наличия всех оперативных журналов. Придется полностью восстанавливать БД и выполнять alter database open resetlogs, о чем как-нибудь будет отдельный разговор.

Действие 5. Ищем сценарий создания контрольного файла – хорошо бы он нашелся уже готовый ! Он может иметься, если вы выдавали команду alter database backup control file to trace, когда еще все работало. Поэтому неплохо такую команду выполнять регулярно и автоматически, например, с помощью cron в Unix.

Сценарий, созданный этой командой, попадает в файл трассировки. В NT (версия 8.1 Oracle) этот файл хранится по умолчанию в ORACLE_BASE\Admin\ORACLE_SID\udump, а другое место хранения может быть задано параметром user_dump_dest в файле инициализации СУБД.

Файлов трассировки (обычно они носят расширение trc) может быть несколько, и тогда среди них нужно найти тот с наиболее поздней командой create controlfile (в разных ОС для этого есть разные возможности; в NT, например, много придется поработать глазами, а в Unix – руками и головой) и перейти к действию 6.

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

Действие 6. Запускаем сценарий создания контрольного файла. Для этого копируем файл трассировки (см. предыдущее действие) в файл, например, rebuild.sql.

Удаляем в текстовом редакторе все, что стоит до фразы '# The following commands will create :' и после последнего предложения SQL, идущего по тексту.

В самое начало добавляем connect internal – и файл можно подавать на вход srvmgrl (напомним, что СУБД не запущена).

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

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

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

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

Литература по Oracle

Источник: http://www.xserver.ru/computer/database/oracle/42/

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

Контрольный файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Adler: 32205e048a CRC: 32ebe6c6e6 Haval: 5711dea10d85b988fcb1eed99ce7310c MD2: 8cca0e965edd0e223b744f9cedf8e141 MD4: 0abe9ee1f376caa1bcecad9042f16e73 MD5: 6cd3556deb0da54bca060b4c39479839 RipeMD128: 3cbb446fc20277b2a4e4b8b8b40aa962 RipeMD160: 58262d1dbe4530d8865d3518c6d6e41002610f Tiger: b5e5dd73a5894236937084131bb845189cdc5477579b9f36 SHA-1: 943a702d06f34599aee1f8da8ef9f7296031d699 SHA-256: 315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3 SHA-384: 55bc556b0d2fe0fce582ba5fe07baafff035653638c7ac0d5494c2a64c0bea1cc57331c7c12a45cdbca7f4c34a089eeb SHA-512: c1527cd893c124773d811911970c8fe6e857d6df5dc9226bd8a160614c0cd963a4ddea2b94bb7d36021ef9d865d5cea294a82dd49a0bb269f51f6e7a57f79421 Whirlpool: 238034e71c9f4d712ef02f8fe109bc1f32425530088c1ea13786e1ffdc953a7d567db4aba11ce0226efdd5ed5d55abd087b58122f891e61df996a37e595131b5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник: https://comp-security.net/%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%81%D1%83%D0%BC%D0%BC%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D1%87%D1%82%D0%BE-%D1%8D%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5/

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

Контрольный файл

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

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

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

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

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

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

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

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

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

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

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

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

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

certutil -hashfile “путь к файлу” [HashAlgorithm]

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

certutil —hashfile “D:\Win10_1511_1_Russian_x32.iso” SHA1

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

Осталось сравнить его с оригинальным, для этого удобно вставить их рядом в блокноте.

Причем если использовать продвинутый блокнот типа Notepad++, то и сверять визуально не придется, если хеши будут одинаковы, то они подсветятся.

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

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

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

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

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

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

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

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

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

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

md5sum “путь к файлу”

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

sha1sum “путь к файлу”

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

cksum “путь к файлу”

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

sudo apt-get install gtkhash

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

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

Когда нужный продукт будет найден, нажимаем на «Сведения» рядом с ним.

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

Источник: https://beginpc.ru/raznoe/checksum-file

Контрольная сумма файла или Checksum

Контрольный файл

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

Итак, вы качаете файл большого размера? Фильм это или игра – не суть: вы должны быть уверены, что игра установится без ошибок, а видео будет проигрываться гладко.

Вы купили SD-диск или флешку на АлиЭкспресс? Вам нужно удостовериться, не побита ли она и соответствует ли реальный объём указанному продавцом… Вот самый быстрый и простой способ подделать объём флешки.

Вы скачали файл, но есть сомнения в его подлинности? Перед установкой можно проверить, не “добавил” ли к его содержимому некий злоумышленник что-то зловредное, которое после инсталляции или даже простого открытия файла начнёт работать против вас…

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

Название появилось от summation check (саммэйшен чек) – число, вычисляемое по особым правилам по содержимому блока данных с целью проверки получателем целостности данных при хранении или передаче.

Если контрольная сумма, вычисленная получающим устройством, не совпадает с принятой суммой, то вывод один – целостность данных нарушена.

Причиной тому может быть “кривое” интернет-соединение, подделка на этапе составления/копирования файла на стороне сервера, или неисправность принимающего устройства (а иногда и просто подлог со стороны его продавца).

Откуда её взять-то?

Составьте сами (если файл создаётся вами или готовится к пересылке/копированию) и сверьте с имеющимся/поставляемым. Если не стесняетесь, а для вас обладание файлом/программой очень важно, запросите контрольную сумму у поставщика. Для этого у нас есть все возможности: у самой Windows или несколько очень хороших, бесплатных и легковесных программ. О всех способах по порядку.

Что может Windows?

Уже в версии Windows 7 есть замечательная утилита certutil.exe, и с её помощью мы научимся вычислять и  сверять контрольную сумму.

В примере будет использоваться самый ходовой на данный момент алгоритм MD5 – именно он подходит для описанных в начале статьи задач (с командами, нижеописываемыми, прокатят также SHA256 и другие). Согласно Microsoft, утилита certutil.

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

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

Get-FileHash путь-к-файлу -Algorithm MD5

Но подробности я пока опущу и остановлюсь на вседоступных вариантах расчётов.

certutil -hashfile полный-путь-к-файлу MD5

К примеру, мне нужна контрольная сумма файла pdf:

Команда примет вид:

certutil -hashfile C:\Users\Desktop\b590.pdf MD5

Если вы желаете у видеть чек-сумму в текстовом файле, можно просто воспользоваться заданием к cmd на вывод результатов команды в указанный файл:

certutil -hashfile C:\Users\Desktop\b590.pdf MD5 > C:\checksum.txt

Ищите файл с именем checksum.txt корне диска С:.

Если вам нужна исключительно контрольная сумма, можно воспользоваться дополнительными флагами к команде:

certutil -hashfile C:\Users\Desktop\b590.pdf MD5 | find /i /v “md5” | find /i /v “certutil”

или

certutil -hashfile C:\Users\Desktop\b590.pdf SHA256 | find /i /v “md5” | find /i /v “certutil”

И так далее.

Контрольная сумма файла есть – сверяем

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

Программы для работы с контрольными суммами в Windows

Пробегусь бегло, ибо смысл вам понятен, а принцип работы у них примерно одинаков. Их больше, чем в моём списке, но вам и так хватит с избытком. А проверяю результаты с полученными от certutil.exe:

Успехов.

Источник: https://computer76.ru/2021/02/28/%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%81%D1%83%D0%BC%D0%BC%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.