Проверка контрольной суммы скачанного файла позволяет проверить его целостность и убедиться, что содержимое файла не было изменено. Чаще всего администраторы используют процедуру проверки чексуммы для загруженных дистрибутивов ОС и установочных образов ПО.
Идея контрольной суммы заключается в том, что для оригинального файла выполняется расчет некоего значения (хэша) по определенному алгоритму получения хэш-функции (чаще всего это MD5, SHA1 и SHA256), а пользователи потом могут выполнить такую же проверку для файла, который они скачали. Сравнение этих двух значений хэшей позволяет убедиться, что вы получили не модифицированный оригинальный файл. Если хэши файлов отличаются, значит файл был изменен или поврежден.
Для проверки контрольной суммы файла в Windows можно использовать встроенный PowerShell командлет Get-FileHash или утилиту certutil.
Например, чтобы получить значение хэша ISO образа, выполните команду:
Get-FileHash "F:\ISO\en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso"
Черех некоторое время (расчет может занять некоторое время в зависимости от размера файла), командлет вернет контрольную сумму файла по алгоритму SHA-256 (по умолчанию). С помощью атрибута
-Algorithm
можно задать другой алгоритм вычисления контрольной суммы
-
SHA1
-
SHA256
(по умолчанию) – наиболее популярный алгоритм с наименьшей вероятности возникновения коллизий (когда два разных файла имеют одинаковую контрольную сумму) -
SHA384
-
SHA512
-
MD5
– самый быстрый, но устаревший алгоритм хэширования
Аналогично можно получить хэш сумму файла с помощью certutil.exe:
certutil -hashfile F:\ISO\en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso SHA256
Где получить контрольные суммы оригинальных ISO файлов образов Windows?
Если у вас есть учетная запись Microsoft, вы можете найти контрольную сумму интересующего вас дистрибутива на сайте https://my.visualstudio.com/Downloads/. Для этого не обязательно иметь активную подписку MSDN. Информация о контрольной сумме образа доступна на вкладке с информацией о продукте.
Также список всех оригинальных образов от Microsoft и их хэшей доступен в следующей сторонней онлайн базе https://files.rg-adguard.net/search. В отличии от сайта Microsoft, здесь можно искать сразу по значению хэша. Выполните поиск по полученному хэшу, чтобы убедиться, что вы скачали оригинальный файл образа.
Регистр символов в хэш сумме не имеет значения.
Для автоматизации проверки хэш сумму скачанного образа с оригинальным значением, можно использовать такой однострочник PowerShell:
((get-filehash .\ en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso).hash) -eq "c90a6df8997bf49e56b9673982f3e80745058723a707aef8f22998ae6479597d"
Команда вернет
True
, если контрольная сумма файла совпадает с эталонной.
[yasr_overall_rating] [yasr_visitor_votes]
This tutorial explains how to find files by hash in Windows. Here I will talk about 2 different tools for Windows to find files via their SHA1, MD5, or SHA256 hash. These tools take a folder in which you want to look for a specific file and the corresponding unique hash. After that, these software look for the file and show you the result. However, these cannot do this operation in bulk. You can only find a single file at a time by providing the hash. And not only the hash, but you can search your files via other criteria as well. You can opt to search files by content, publisher, name or a mask.
There are a lot of file search software out there which use traditional methods for searching files. But if you want to search for a specific file by its hash, then you can’t do that with those software. And that’s where the tools I have mentioned below come in handy. You just have to specify a hash value and path to the folder to start search. And then these software will show you the matching file.
To find files by hash, I have listed a free software and a small script that you can run on your PC easily. Both the tools can easily find files by their MD5 hash and yield the result. I have explained about both the tools in different sections of this article.
Find Files by Hash in Windows using Smart File Finder
Smart File Finder is a very powerful file finder software to find files in Windows using various criterias. And one of those criteria is by searching files using the hash value. It supports MD5, SHA1, SHA256, SHA512, TIGER192 and some other hash types. Just specify the hash value in the search field and the path to start the search. After that, it will show you what file matches the criteria. In the result, it shows the path and name of the file. And the result that it shows can be exported to a file.
This file search software allows you to opt for certain other options to assist the search. You can opt to include, exclude some files and folder to appear in the result. Also, you can opt to leave hidden files and subdirectories if you want. And the best part is that it supports wild card feature that you can use to narrow down the search.
Using this software to search for files by their hash is very simple. If you have a generated hash value, then you can enter that in the software. For that, run the software right after downloading it and then in Search type drop down specify the hash type that you have. After that, enter the hash value in search string box, folder to start file search, and hit the Search button. Also, before starting the search, you can opt to specify some other parameters to assist the search. It will start looking for files in the specified folder and if it finds the matching file, it will show that to you.
Find Files by Hash in Windows using a PowerShell Script
Apart from using a software to search files by hash, you can use a simple script to do the same. I found a script on GitHub that opens a window form and lets you specify a MD5 hash and a folder to search file in that. It is a simple script that you can easily execute on your Windows PC. After finding the file, matching the hash you have specified, it will show its name and path to you. However, you cannot copy that or select it.
It is very simple to use this script to search files by hash. The following steps will help you in learning how to use this script.
Step 1: Open PowerShell ISE. To open that, you can type “PowerShell” in Start and it will show up. The interface of PowerShell ISE looks like this screenshot.
Step 2: Go to this link and copy all the code. Next, paste the code on the interface of the PowerShell ISE.
Step 3: Now, to run the script, simply click on the ‘play’ button and a window will appear. You can specify the MD5 hash and path to the folder in which you want to look up for the file. Finally, hit the Search button and it will start looking for the target file. When it finds the file, it will show its name and path on its interface. See the screenshot below.
In this way, you can use this simple PowerShell script to find files by its MD5 hash. The speed of the search completely depends on the number of files inside the folder that you have specified. So, it is taking a long time to find your file, then it is okay. However, I really wish that it would have come with the option to specify filters.
Closing Thoughts
Normally, file search software use the file name or any other piece of text to find files. But the software I have mentioned above uses a whole different approach to locate a file. Hash is a unique value and if you don’t know the name, or any other information except hash about a file, then you can use these software. Both the tools will easily find the target file by simply providing the hash value.
Содержание статьи:
- Узнаем контрольную сумму
- Способ 1
- Способ 2
- Способ 3
- Способ 4
- Способ 5
- Вопросы и ответы: 0
Вводная (зачем это нужно): когда вы скачиваете из сети какую-нибудь программу, архив, образ ISO (особенно больших размеров) — есть определенная вероятность, что у вас может оказаться битый файл (или поддельный, т.е. кем-то измененный, например, вирусами).
Чтобы убедиться, что перед вами оригинальный файл (а не подделка) — нужно сравнить контрольные суммы* своего файла на диске, с контрольными суммами файла на сайте его разработчика (они их обычно всегда приводят). Если совпадут — значит все OK!
* Важный момент: контр. сумма (или хэш-сумма) представляет из себя текстовую строку с буквами и цифрами, которая уникальна для каждого файла (как подпись у человека). И если содержимое файла изменится хоть на один байт — контрольная сумма тоже изменится! Разумеется, если хэш-сумма вашего файла не совпадает с оригиналом — лучше его не открывать, и перезагрузить информацию…
*
Узнаем контрольную сумму
Способ 1
Пожалуй, наиболее быстрый и удобный способ — воспользоваться программой Total Commander (ссылка на сайт разработчика: https://www.ghisler.com/download.htm). Это аналог проводника, который сильно упрощает взаимодействие с большим кол-вом файлов.
Что делать:
- скачивание, установка, запуск у Total Commander стандартны, и поэтому я их не рассматриваю;
- далее в панели нужно выбрать тот файл, для которого вам требуется контрольная сумма, и перейти в меню «Файл — посчитать CRC суммы». См. скриншот ниже; 👇
Файл — посчитать CRC суммы
- затем указать тип контрольной суммы: MD5, SHA256, SHA1 и др. (обычно выбирают тот тип, который указан на сайте, с которого вы загрузили файл. Иначе как сравнивать-то? 😉);
Тип контрольной суммы
- после этого у вас в этой же папке с файлом появится новый текстовый файл (в моем случае с расширением MD5). Необходимо открыть его: для этого нужно его выбрать и нажать F3 (на ноутбуках возможно Fn+F3);
Открываем полученный текстовый файл
- ву-а-ля, перед вами контрольная сумма! Эту строку теперь можно скопировать и сравнить со строкой от разработчиков вашего файла: если совпадает — значит ваш файл никто не изменил… (не подделка…).
Напротив каждого файла своя контр. сумма
*
Способ 2
Если вы достаточно часто что-то качаете и загружаете (и нужно постоянно проверять хеш-суммы) — возможно, вам придется по душе дополнение для проводника HashTab V 6.0 (ссылка на сайт разработчика).
После его установки — достаточно просто открыть свойства нужного файла и перейти во вкладку «Хеш-суммы файлов». В ней будут представлены следующие типы контр. сумм: CRC32, MD5, SHA-1, SHA-256 (в настройках можно добавить и другие).
Удобно?! 👌👇👇
Свойства файла
Хеш-суммы файлов
*
Способ 3
Есть еще одна достаточно удобная утилита для подсчета хеш-сумм — File Checksum Calculator (сайт разрабочтика: https://vovsoft.com/software/file-checksum-calculator/).
После запуска File Checksum Calculator — нужно-то лишь указать расположение файла: через 1-2 сек. вы получите всё необходимое (строки CRC32, MD5, SHA1, SHA256, SHA512)! См. скрин ниже. 👇
File Checksum Calculator — скрин окна приложения
*
Способ 4
Если вы пользуетесь архиватором 7ZIP (ссылка на офиц. сайт: https://www.7-zip.org/) — то достаточно просто узнать хэш-суммы в нем:
- для этого нужно открыть сам архиватор (через ярлык в меню ПУСК, например);
- выбрать в нем файл и перейти в меню «Файл / CRC / *» (см. стрелку 3 на скрине ниже);
7ZIP — файл — CRC
- архиватор тут же представит неск. типов контрольных сумм (CRC32, 64, SHA256, SHA1 и др.). Задача выполнена?!
7zip — контрольные суммы
*
Способ 5
Можно также воспользоваться встроенной в Windows утилитой CertUtil (для этого понадобиться 📌запустить командную строку, ввести в нее нижеприведенную команду и нажать Enter).
certutil -hashfile C:\Users\alex\Downloads\FileZilla_3.66.5_win64-setup.exe MD5
Обращаю внимание на то, что:
- вместо моего пути к программе (C:\Users\alex\Downloads\FileZilla_3.66.5_win64-setup.exe) — вам нужно указать свой путь!
- вместо MD5 — можно указать другой тип контр. суммы (SHA1 или SHA256, например).
Командная строка — хэш-сумма // в качестве примера
✏️ Кстати!
Чтобы узнать имя и расположение своего файла — нажмите по нему правой кнопкой мыши и откройте его свойства: во вкладке «Общие» эти сведения указаны (см. скрин ниже). 👇
Свойства файла — имя и расположение
*
Иные (более простые) способы — приветствуются в комментариях ниже.
Всего доброго!
👋
Как вычислить хеш-сумму файла встроенным средством Windows или Как проверить целостность файла встроенным средством Windows
Файлы , которые мы загружаем из интернета, такие как образа ISO , программы, файлы, во избежании не корректной их загрузки или даже вредоносным изменением третьих лиц, представляют для них хеш-сумму.
Контрольную хеш-сумму используют для проверки файла, который мы скачали на наш компьютер, с хеш-суммой файла, который они предоставляет. Либо снимают хеш-сумму с файла и периодически её проверяют, сравнивают, доказывая его целостность.
Хеш-сумма может называться, как контрольная сумма, хэш-значением или значением хеш-функции, создается путем запуска криптографической хеш-функции , обычно MD5 или SHA-1 , в файле.
В нашей статье расскажу как вычислить хеш-сумму файла встроенным средством Certutil с помощью командной строки.
Шаг 1 выводим команду Выполнить клавишами Win+R и набираем cmd
Шаг 2 в командной строке запускаем команду certutil -hashfile c:\file.exe
где: c:\file.exe — путь до файла
По умолчанию утилита считает хеш-сумму с помощью SHA1. Если хотите использовать другой, доступны: MD5, MD4, MD2, SHA512, SHA384, SHA256, SHA1.
Например:
certutil -hashfile С:\file.exe MD5 >>hash.txt
где:
- С:\file.exe — путь до файла
- MD5 — хэш-алгоритм
- >>hash.txt — запись хеш-суммы в txt файл
Для вычисления нескольких файлов, данный скрипт записывается в команндный файл и последовательно указываются все необходимые файлы для вычисления.
Все праметры можно увидеть если ввести команду certutil -hashfile -?