6 бесплатных хэш-чекеров для проверки целостности любого файла
Содержание:
Как на практике проверить контрольную сумму файла?
Для того, чтобы проверить контрольную сумму файла (checksum) нужно скачать прилагаемый файл с информацией о ключах (или скопировать текстовую информацию с контрольной суммой на сайте разработчика).
Скачанный файл открывают в текстовом редакторе и сранивают информацию, размещенную в нем (либо берут уже выложенную в текстовом виде информацию) с той, что получена в результате проверки. Необходимо убедиться в том, что представленная разработчиком контрольная сумма не отличается от той, которая получена самостоятельно. Это даст практически стопроцентную гарантию в том, что используется легитимная копия программы/файла, она не утратила своей целостности и не содержит сторонних модулей, внедренных злоумышленниками.
Проверка контрольной суммы заключается в последовательном проведении следующих шагов:
- Открывается программа PowerShell входящий в состав Windows.
Чтобы запустить программу PowerShell нужно перейти в каталог со скачанной программой, а затем одновременно нажать кнопку SHIFT + правую кнопку мыши и в появившемся диалоговом окне выбрать открыть PowerShell:
Это же окно в русскоязычной версии Windows:
- Затем нужно напечатать в консоли PowerShell команду “dir” (без кавычек) и нажать ввод. В результате этого на экране появится список файлов, содержащихся в директории.
Пример работы с программой PowerShell по проверке контрольной суммы исполняемого файла PhoenixMiner:
- Для проверки контрольной суммы MD5 нужно выделить и скопировать (нажав CTRL + C) название нужного файла (в данном случае PhoenixMiner.exe):
- Проверяют контрольную сумму файла.
Для проверки контрольной суммы MD5 вводят команду вида:
CertUtil -hashfile название файла MD5
Для проверки контрольной суммы SHA256 вводят команду вида:
CertUtil -hashfile название файла SHA256
В случае проверки Феникс майнера разработчик предоставляет только информацию о checksum zip-архива с программой и сопутствующими файлами:
Для проверки архива с расширением zip вводится команда вида:
CertUtil -hashfile PhoenixMiner_4.5c_Windows.zip SHA256
и нажимается ввод.
В результате успешной проверки контрольной суммы архива PhoenixMiner_4.5c_Windows.zip появится следующая информация:
Как видно, контрольная сумма 78300370043207516c8b8a48b20b7040b82203f9d311b6cc28890a934df74fae, полученная в результате проверки, совпадает с той, которая выложена разработчиком PhoenixMiner на сайте bitcointalk:
Для проверки сумм SHA512 или SHA1 вводятся соответственно команды:
CertUtil -hashfile PhoenixMiner.exe SHA512
или
CertUtil -hashfile PhoenixMiner.exe SHA1.
Вариант 2: Программы от сторонних разработчиков
В сети можно найти множество программ, разработанных для проверки хеш-суммы ISO-образов. Ниже представлены лучшие решения, находящиеся в свободном доступе.
Способ 1: HashTab
HashTab — легковесная утилита, которая интегрируется в графическую оболочку операционной системы и предоставляет свои возможности через контекстное меню файла.
После установки приложения выполните следующие действия:
- Откройте файловый менеджер, нажав по соответствующей иконке на панели задач.
Перейдите в папку, где находится нужный образ, и нажмите по нему правой кнопкой мыши. Выберите пункт «Свойства».
В новом окне откройте вкладку «Хеш-суммы файлов», дождитесь завершения вычисления нужной информации и ознакомьтесь с результатами в соответствующей сводке.
Способ 2: Total Commander
Total Commander — программа для работы с файлами, является аналогом штатного «Проводника», но с расширенным набором инструментов. Среди них есть встроенная утилита для проверки контрольной суммы дисковых образов.
После установки приложения на компьютер запустите его и выполните следующие действия:
- В левой части рабочей области перейдите в папку с ISO-файлом, который необходимо проверить, и выделите образ, один раз кликнув по нему.
Разверните выпадающее меню «Файлы» и выберите опцию «Посчитать CRC-суммы».
В появившемся окне определите тип контрольной суммы, который необходимо получить на выходе (делается это в одноименном блоке), и нажмите по кнопке «ОК».
Запустите файловый менеджер и перейдите в директорию, где находится образ. Нажмите правой кнопкой мыши по одноименному файлу с другим расширением и выберите «Открыть».
В диалоговом окне нажмите по программе «Блокнот», а затем по кнопке «ОК».
Отобразится хеш-сумма образа.
Способ 3: 7-Zip
7-Zip — программа для извлечения файлов из архива, которая имеет функцию просмотра контрольной суммы образа. Позволяет получать информацию в четырех форматах:
- CRC-32;
- CRC-64;
- SHA-1;
- SHA-256.
После установки приложения для получения нужных данных необходимо сделать следующее:
- Запустите файловый менеджер, кликнув по иконке «Проводника» на панели задач.
Перейдите в папку с файлом, контрольную сумму которого необходимо узнать. Нажмите правой кнопкой мыши, в контекстном меню наведите курсор на строку CRC SHA и выберите пункт со звездочкой.
Дождитесь завершения извлечения нужной информации, которая впоследствии отобразится в новом диалоговом окне.
Hashtab что это за программа?
Целью Hashtab является поиск и выявление некорректно работающих системных файлов
, также, по пути, утилита запускает цикл проверки правильности установленных файлов. В частности, это нужно для проверки скачанных образов и больших файлов. Программа запускает проверку контрольной суммы для того, чтобы пользователь был уверен, что скачал файл полностью, не потеряв ни одного байта. Такая проверка позволяет устранить появление ошибок из-за того, что файл в итоге оказался битый. Hashtab поддерживает множество алгоритмов суммы:
- CRC (проверяет целостность данных);
- MD5 (создает «отпечатки» для последующей их проверки);
- SHA1 (генерирует 160-битное хеш-значение, которое также называется дайджестом сообщения);
- SHA2 (создает «отпечатки» различной длины и генерирует хеш-код);
- Whirlpool (код хеширования, который явно имеет более красочное название — «воронка», нежели чем, остальные языки написания кода. Whirlpool осуществляет хеширование входного сообщения).
Использование этих и других алгоритмов позволяет Hashtab выделяться из ряда схожих программ и быть одной из лучших в своем роде.
Особенности работы с утилитой
Hashtab работает с разными видами файлов
, даже с теми, которые вы скачали с торрент-источника. Пользователь имеет возможность выбрать любой алгоритм для того, чтобы проверить файл. Это можно с легкостью сделать в панели настроек. Hаshtab способен сравнить несколько файлов с одинаковым названием для сравнения их хеш-сумм. Однако утилита не может вычислять значения одновременно для нескольких файлов. К сожалению, Hashtab пока что не имеет сервисной информации, но разработчики находятся в процессе решения этой проблемы. Можно отслеживать всю информацию по этой программе на ее официальном сайте.
На каких платформах работает Hashtab?
Утилита поддерживается несколькими операционными системами, такими как Mac и Windows
. На платформе Linuex Hashtab работать пока не может. В систему Windows утилита интегрируется и устанавливается в проводнике, а в яблочной системе она действует как отдельный плагин. Язык по умолчанию для Hashtab будет языком системы, но его всегда легко заменить в панели языковой панели самой программы.
Как пользоваться программой?
Скачать утилиту лучше всего с официального сайта разработчика, чтобы избежать вирусов. На компьютере она появится как отдельный установочный контейнер с расширением «.exe». В комплекте при скачивании присутствует программа русификации, что очень удобно, для тех, кто не владеет английским языком.
Как только, утилита установлена можно сразу же начать проверку всего диска. Если вы используете Windows, то достаточно будет просто щелчком правой кнопки мыши
вызывать панель «Свойства». В этой панели сразу будет указан параметр контрольных сумм.
Пользователь увидит сразу множество показателей. В том случае, если они не похожи то,легко понять, что файл либо заражен вредоносным программным обеспечением, либо поврежден. В таком случае в меню утилиты необходимо вызвать специальную панель, в которой будут указаны все значения выбранного пользователем файла. Показатели можно сортировать для упрощения выбора. В Hashtab существует библиотека расширений DLL
. В поле этой библиотеки можно поместить текст хеш-значений для их сравнения и проверки.Программа сама укажет на несовпадения и несоответствия.
Почему Hashtab не устанавливается?
Существует несколько способов установки программы Hashtab:
- Возможно, программа не работает из-за того, что ваша операционная система не поддерживается этой утилитой. В таком случае можно скачать Virtual Box и установить туда ту платформу, на которой Hashtab будет работать.
- Еще, возможно, что установочный файл просто некорректно скачался и проблему можно решить просто скачав его еще раз. Также стоит попробовать просто перезагрузить компьютер и запустить установочный файл еще раз.
Теперь вопрос о том, что такое Hashtab должен отпасть сам собой. Ведь теперь вы знаете, что это очень полезная утилита
, позволяющая пользователю обезопасить себя от вирусов и вредоносного программного обеспечения, но также эта утилита позволяет осуществлять проверку целостности файлов, что существенно облегчит жизнь каждого геймера, да и простого человека, которому приходится скачивать большие образы.
На этой страничке предоставлена информация о HashTab. Что это за программа, ее назначение и возможности будут оговорены в рамках данной статьи.
Какими свойствами должна обладать хеш-функция
- Функция должна уметь приводить любой объем данных (а все они цифровые, т.е. двоичные, как вы понимаете) к числу заданной длины (по сути это сжатие до битовой последовательности заданной длины хитрым способом).
- При этом малейшее изменение (хоть на один бит) входных данных должно приводить к полному изменению хеша.
- Она должна быть стойкой в обратной операции, т.е. вероятность восстановления исходных данных по хешу должна быть весьма низкой (хотя последнее сильно зависит от задействованных мощностей)
- В идеале она должна иметь как можно более низкую вероятность возникновения коллизий. Согласитесь, что не айс будет, если из разных массивов данных будут часто получаться одни и те же значения хэша.
- Хорошая хеш-функция не должна сильно нагружать железо при своем исполнении. От этого сильно зависит скорость работы системы на ней построенной. Как я уже говорил выше, всегда имеется компромисс между скорость работы и качеством получаемого результата.
- Алгоритм работы функции должен быть открытым, чтобы любой желающий мог бы оценить ее криптостойкость, т.е. вероятность восстановления начальных данных по выдаваемому хешу.
Применения в реальной жизни
- Чек-суммы. Простой и быстрый способ проверить целостность большого передаваемого файла — посчитать хэш-функцию на стороне отправителя и на стороне получателя и сравнить.
- Хэш-таблица. Класс unordered_set из STL можно реализовать так: заведём (n) изначально пустых односвязных списков. Возьмем какую-нибудь хэш-функцию (f) с областью значений ([0, n)). При обработке .insert(x) мы будем добавлять элемент (x) в (f(x))-тый список. При ответе на .find(x) мы будем проверять, лежит ли (x)-тый элемент в (f(x))-том списке. Благодаря «равномерности» хэш-функции, после (k) добавлений ожидаемое количество сравнений будет равно (frac{k}{n}) = (O(1)) при правильном выборе (n).
- Мемоизация. В динамическом программировании нам иногда надо работать с состояниями, которые непонятно как кодировать, чтобы «разгладить» в массив. Пример: шахматные позиции. В таком случае нужно писать динамику рекурсивно и хранить подсчитанные значения в хэш-таблице, а для идентификации состояния использовать его хэш.
- Проверка на изоморфизм. Если нам нужно проверить, что какие-нибудь сложные структуры (например, деревья) совпадают, то мы можем придумать для них хэш-функцию и сравнивать их хэши аналогично примеру со строками.
- Криптография. Правильнее и безопаснее хранить хэши паролей в базе данных вместо самих паролей — хэш-функцию нельзя однозначно восстановить.
- Поиск в многомерных пространствах. Детерминированный поиск ближайшей точки среди (m) точек в (n)-мерном пространстве быстро не решается. Однако можно придумать хэш-функцию, присваивающую лежащим рядом элементам одинаковые хэши, и делать поиск только среди элементов с тем же хэшом, что у запроса.
Хэшируемые объекты могут быть самыми разными: строки, изображения, графы, шахматные позиции, просто битовые файлы.
Источники
- https://ru.crypto-news.io/articles/heshirovanie-ego-funkcii-i-svoistva.html
- https://zen.yandex.ru/media/info_law_society/shifrovanie-heshirovanie-kodirovanie-dannyh-razlichiia-i-primenenie-5d6168b0c31e4900ad8a4614
- https://habr.com/ru/post/93226/
- https://KtoNaNovenkogo.ru/voprosy-i-otvety/xesh-chto-eto-takoe-xesh-funkciya.html
- https://coderlessons.com/tutorials/akademicheskii/izuchite-kriptografiiu/kriptografiia-khesh-funktsii
- https://OptimaKomp.ru/chto-takoe-khesh-summa-fajjla-zachem-i-kak-ejo-zameryat/
- https://vellisa.ru/hashtab-kontrolnyie-summyi-fayla
- https://algorithmica.org/ru/hashing
Зачем проверять целостность файла?
Полная идентичность контрольной суммы гарантирует, что файл не был несанкционированным образом изменен посторонним пользователем, а также является подтверждением того, что скачиваемые файлы являются точной копией исходных.
Проведение данной процедуры необходимо для проверки целостности загружаемых файлов, чтобы обезопасить свое устройство и убедиться в том, что злоумышленники их не модифицировали, заразив вирусами. Хэш-функция применяется для файлов любых типов, включая установщики EXE и архивы ZIP.
Хакеры могут взломать интернет-ресурс, на котором размещен файл для скачивания, а затем подменить его на зараженный и изменить контрольные суммы, указанные разработчиком программы.
Хеширование данных
Криптографическая хеш-функция
(хеш ) — это математический алгоритм, преобразовывающий произвольный массив данных в состоящую из букв и цифр строку фиксированной длины.
Это определение означает, что с помощью алгоритма хеширования
можно получить фиксированную строку цифр и букв, преобразовав текст произвольной длины. Полученный хеш можно хранить в качестве контрольного значения для проверки целостности преобразованных данных: если данные изменятся, то при повторном преобразовании их в хеш одинаковым алгоритмом получится другое значение.
Известными алгоритмами хеширования являются MD5, SHA-1 и SHA-2.
Основные принципы хеширования
Кому даром книгу ‘7 профессий для быстрого заработка в Интернете’?
Познакомьтесь с книгой, которая разрушит стереотипы и подскажет, с чего начать! Получите книгу прямо сейчас и узнайте, как сделать жизнь ярче уже в ближайшие дни! Получить.
- при хешировании одинаковых данных получается одинаковое значение хеша (хеш-кода);
- разные данные преобразуются в разные хеш-коды (хеш-суммы);
- криптостойкость хеш-функции заключается в стойкости к восстановлению хешируемых данных и стойкости к коллизиям преобразования.
Одним из самых простых применений хеширования является хранение паролей (считается более защищённым способом, чем хранение паролей в явном виде).
С помощью хеширования в можно контролировать в различных сервисах распространение медиафайлов, сравнивая их хеш-коды, можно отслеживать целостность хранимых и передаваемых данных или детектировать защитным ПО вредоносные программы.
Описание
В настоящее время практически ни одно приложение криптографии не обходится без использования хэширования.
Хэш-функции – это функции, предназначенные для «сжатия» произвольного сообщения или набора данных, записанных, как правило, в двоичном алфавите, в некоторую битовую комбинацию фиксированной длины, называемую сверткой. Хэш-функции имеют разнообразные применения при проведении статистических экспериментов, при тестировании логических устройств, при построении алгоритмов быстрого поиска и проверки целостности записей в базах данных. Основным требованием к хэш-функциям является равномерность распределения их значений при случайном выборе значений аргумента.
Криптографической хеш-функцией называется всякая хеш-функция, являющаяся криптостойкой, то есть удовлетворяющая ряду требований специфичных для криптографических приложений. В криптографии хэш-функции применяются для решения следующих задач:
- построения систем контроля целостности данных при их передаче или хранении,
- аутентификация источника данных.
Хэш-функцией называется всякая функция h:X -> Y, легко вычислимая и такая, что для любого сообщения M значение h(M) = H (свертка) имеет фиксированную битовую длину. X — множество всех сообщений, Y — множество двоичных векторов фиксированной длины. Как правило хэш-функции строят на основе так называемых одношаговых сжимающих функций y = f(x1, x2) двух переменных, где x1, x2 и y — двоичные векторы длины m, n и n соответственно, причем n — длина свертки, а m — длина блока сообщения.
Для получения значения h(M) сообщение сначала разбивается на блоки длины m (при этом, если длина сообщения не кратна m то последний блок неким специальным образом дополняется до полного), а затем к полученным блокам M1, M2,.., MN применяют следующую последовательную процедуру вычисления свертки:
Ho = v, Hi = f(Mi,Hi-1), i = 1,.., N, h(M) = HN Здесь v — некоторая константа, часто ее называют инициализирующим вектором. Она выбирается из различных соображений и может представлять собой секретную константу или набор случайных данных (выборку даты и времени, например).
При таком подходе свойства хэш-функции полностью определяются свойствами одношаговой сжимающей функции.
Выделяют два важных вида криптографических хэш-функций — ключевые и бесключевые. Ключевые хэш-функции называют кодами аутентификации сообщений. Они дают возможность без дополнительных средств гарантировать как правильность источника данных, так и целостность данных в системах с доверяющими друг другу пользователями.
Бесключевые хэш-функции называются кодами обнаружения ошибок. Они дают возможность с помощью дополнительных средств (шифрования, например) гарантировать целостность данных. Эти хэш-функции могут применяться в системах как с доверяющими, так и не доверяющими друг другу пользователями.
Выполните свою контрольную сумму
Все основные операционные системы также имеют встроенный инструмент контрольной суммы.
Windows
Чтобы запустить контрольную сумму в Windows, проще всего использовать PowerShell: щелкните правой кнопкой мыши кнопку меню «Пуск» или нажмите Win + X. Если вы используете более старую версию Windows, вы можете скачать PowerShell отсюда.
Введите команду get-filehash, а затем укажите местоположение файла. Либо введите команду, а затем перетащите файл в окно PowerShell. Вот как был создан наш первый тестовый файл.
По умолчанию PowerShell использует SHA-256 для получения контрольной суммы, но вы можете использовать другие, например SHA-512 или MD5. Все они создадут другой хэш, но он все равно будет уникальным для этого файла. Чтобы использовать другую функцию, добавьте команду -algorithm, а затем ее код.
Для контрольных сумм использование другой хеш-функции не приносит каких-либо значительных преимуществ, хотя было показано, что некоторые из более старых (например, MD5, SHA-1) создают одинаковый хеш для разных файлов — проблема, известная как коллизия.. Новые алгоритмы более устойчивы к конфликтам, поэтому PowerShell по умолчанию использует SHA-256.
Основная причина необходимости переключения на другую функцию заключается в том, что хост файла решил использовать что-то другое, кроме SHA-256, поэтому вам нужно переключиться на это, чтобы сравнить файлы.
Сравнивать две длинные строки цифр и букв может быть немного сложно, но с небольшим программированием вы можете заставить PowerShell вычислять контрольные суммы за вас. Давайте возьмем приведенный выше код MD5 в качестве примера и представим, что хеш исходного файла на самом деле заканчивается цифрой 8.
На изображении ниже показаны строки кода, которые необходимо ввести, используя Shift + Enter после каждой.
Видите, как написано «Ложь»? Это говорит вам, что файл не тот. Если вы уверены, что у вас есть правильный хеш для нужного файла, то все подозрения ложатся на данные.
Обратите внимание, что контрольная сумма не может сказать вам, как файлы различны — это очень двоичный тест, если вы простите за каламбур. Но это полезный инструмент, и в нем есть некоторые очень специфические функции контрольной суммы (например, контрольная цифра и контрольный бит ), которые используются все время для поиска ошибок в данных
Microsoft сделала PowerShell доступным для macOS 10.13 или новее, а также для Linux, но если мысль об использовании чего-то, созданного с помощью Windows, вызывает у вас неприятные ощущения, знайте, что вы можете сделать то же самое в любой ОС.
macOS
Пользователям Mac необходимо запустить приложение «Терминал», которое находится в папке «Служебные программы» приложения. Введите команду shasum -a 256, за которой следует адрес файла, который вы хотите проверить (или просто перетащите в окно терминала).
Инструкция shasum эквивалентна Get-FileHash в PowerShell, а часть «-a 256» указывает, какой алгоритм использовать: 1 для SHA-1, 256 для SHA-256 и 512 для SHA-512.
Обратите внимание, как мы получили ту же контрольную сумму для тестового файла, что и при использовании PowerShell в Windows? В этом его реальная сила: независимо от того, какой компьютер или файловую систему вы используете, при одинаковом алгоритме вы всегда будете получать хеш-значения, которые можно напрямую сравнивать
Итоги
Технология хеширования дает уникальную возможность контроля за сохранностью информации. В нынешние времена, когда количество файлов пользователя исчисляется тысячами и десятками тысяч, необходимо удобство в обработке хеш-сумм для больших объемов данных. С этой задачей успешно справляется программа MD5Checker, с помощью которой Вы сможете как проверить контрольные суммы, так и создать их для множества файлов независимо от глубины их вложенности в дереве папок.
В наш цифровой век, даже один жалкий байт может стоить много. Если в файле ISO образа недостает хотя бы байта, то польза от подобного файла будет сомнительной. В один прекрасный момент, когда вы захотите проинсталлировать себе новую операционную систему, процесс прервется на определенном этапе установки, из-за того, что образ оказался битым. Поэтому любой ISO файл следует просканировать на целостность, перед тем как прожечь его на болванку. Таким образом, вы экономите свое драгоценное время и предостерегаете себя от нелепых казусов, возникших в процессе использования дисков на которых был записан тот или иной ISO образ. И еще один важный момент, битым ISO образ может оказать как по причине, не зависящей от вас – например, сам файл был загружен автором уже битым. А также по причине нестабильности вашего интернет соединения, что в итоге привело к утрате данных при скачивании файла на ваш компьютер.
Для сканирования контрольной суммы ISO образа, вам следует последовательно выполнить следующие шаги. Подробно описывать нет смысла, так как программа довольно простая и не требует глубоких познаний и серьезного описания. Однако давайте пошагово:
- Ищем на просторах всемирной паутины программу HashTab (или ей аналогичную программу, предназначенную для проверки контрольных сумм (или хеш-сумм) ISO образов), загружаем ее себе на компьютер и инсталлируем. Скачать программу можно, например, отсюда http://www.softportal.com/get-19546-hashtab.html , либо с официального сайта. Процесс установки достаточно простой и не требует описания;
- Далее жмем правой клавишей мыши на файл ISO образа и выбираем из всплывающего контекстного меню пункт «Свойства», где будет располагаться, новая вкладка, созданная программой HashTab;
- Переходим во вкладку «Хеш-суммы файлов», там будет указана хеш-сумма скачанного файла. Эта сумма является контрольной для того файла который вы скачали и даже в случае его нецелостности, он все равно будет иметь контрольную сумму;
- Копируем хеш-сумму из описания к ISO файлу (обычно, в теме, откуда вы скачиваете файл, указывается контрольная сумма ISO образа, так же контрольная сумма должно присутствовать на обратном обороте диска, если образ скопирован с диска и если диск является лицензионным), вставляем ее в поле «Сравнение хеша» и нажимаем кнопку «Сравнить файл…».
Готово! Таким образом, мы узнаем, совпадают ли контрольные суммы, и убедимся в готовности ISO образа для прожига. Если контрольные суммы разнятся, то необходимо скачать ISO файл заново и еще раз проверить его целостность. Если окажется, что ISO образ, скачанный повторно все равно битый, то лучше вам поискать на просторах интернета другой образ и желательно от другого автора.
Самое интересно, что программа HashTab доступна как для пользователей операционной системы Windows, так и для ценителей MacOs. Поэтому HashTab является универсальным инструментом для проверки контрольных сумм ISO образов. И даже если у вас есть несколько компьютеров, на которых установлены разные операционные системы, вам будет куда привычнее использовать одно программное обеспечение, нежели искать отдельные программы, предназначенные для разных операционных систем. В интернете довольно много аналогичных решений, что позволяет вам выбрать среди обилия практически одинаковых программ, отличающихся друг от друга разве что интерфейсом. Впрочем, все эти программы довольно простые и не сильно широки в плане своей функциональности, поэтому, что бы вы ни выбрали, все это будет примерно одного поля ягода. Успехов вам и целостности информации!
Многие пользователи компьютеров со временем, при более детальном знакомстве, задаются вопросом по поводу хеш-сумм. Их еще называют контрольными суммами. Что же это такое? Для чего нужно? Каким образом вычисляются эти самые суммы?