Как проверить хэш-сумму файла на Windows и Linux
Проверка контрольной суммы файла - это способ удостовериться в корректности его загрузки и убедиться, что файл не был подменен хакерской атакой. Проверять хэш-сумму файла следует независимо от ОС, которую ты используешь, но мы рассмотрим способы только на Windows и Linux.
Windows:
Для проверки хэш-суммы, в Windows предустановлена утилита certutil. Например, чтобы посчитать контрольную сумму SHA1 с помощью утилиты CertUtil, нужно запустить командную строку и ввести команду:certutil -hashfile путь_к_файлу алгоритм
Пример на образе Win10:certutil -hashfile win10_1909_Russian_x64.iso SHA256
Если полученная контрольная сумма совпадает с оригинальной - значит проверка выполнена успешно.
Linux:
Для проверки можно использовать консольные утилиты. Рассмотрим на примере дистрибутива Linux Mint. Скачиваем образ с официального сайта и смотрим хэш-сумму файла:
ccf482436df954c0ad6d41123a49fde79352ca71f7a684a97d5e0a0c39d7f39f *linuxmint-22.1-cinnamon-64bit.iso d286306d0f40bd7268f08c523ece5fba87c0369a27a72465a19447e3606c5fa0 *linuxmint-22.1-mate-64bit.iso 6451496af35e6855ffe1454f061993ea9cb884d2b4bc8bf17e7d5925ae2ae86d *linuxmint-22.1-xfce-64bit.iso
ccf482436df954c0ad6d41123a49fde79352ca71f7a684a97d5e0a0c39d7f39f *linuxmint-22.1-cinnamon-64bit.iso
Это хэш-сумма sha256. В Linux есть утилита sha256sum. Посмотрим на ее возможности:sha256sum --help
sage: sha256sum [OPTION]... [FILE]...
Print or check SHA256 (256-bit) checksums.
With no FILE, or when FILE is -, read standard input.
-b, --binary read in binary mode
-c, --check read checksums from the FILEs and check them
--tag create a BSD-style checksum
-t, --text read in text mode (default)
-z, --zero end each output line with NUL, not newline,
and disable file name escaping
The following five options are useful only when verifying checksums:
--ignore-missing don't fail or report status for missing files
--quiet don't print OK for each successfully verified file
--status don't output anything, status code shows success
--strict exit non-zero for improperly formatted checksum lines
-w, --warn warn about improperly formatted checksum lines
--help display this help and exit
--version output version information and exit
The sums are computed as described in FIPS-180-2.
When checking, the input should be a former output of this program.
The default mode is to print a line with: checksum, a space,
a character indicating input mode ('*' for binary, ' ' for text
or where binary is insignificant), and name for each FILE.
There is no difference between binary mode and text mode on GNU systems.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/sha256sum>
or available locally via: info '(coreutils) sha2 utilities'
Используем sha256sum для проверки хэш-суммы скачанного образа:sha256sum -b linuxmint-22.1-cinnamon-64bit.iso
Чтобы не сравнивать самостоятельно хэш-сумму загруженного файла с хэш-суммой, представленной на сайте, можно использовать grep. Для этого копируем хэш-сумму с сайта:
И вставляем в команду для сравнения:sha256sum -b linuxmint-22.1-cinnamon-64bit.iso | grep "ccf482436df954c0ad6d41123a49fde79352ca71f7a684a97d5e0a0c39d7f39f"
Как видно на скриншоте, хэш-сумма совпадает с оригиналом и это означает, что скачанный образ успешно прошел проверку. Точно также можно использовать утилиту md5sum.