При посещении Интернета, в поисках какого-то файла, можно заметить рядом с загрузками следующие надписи: MD5, SHA-1 или SHA-256. Многие вряд ли задумывались о предназначении этих функций. По-другому все эти сокращения называют хэшами или алгоритмами хэширования, что означает некоторое преобразование данных в короткий вид. Хэш необходим, чтобы проверять загруженные файлы на целостность, то есть не испорчен ли он или поврежден.
Делается эта процедура следующим образом: у вас есть файл, который вы скачали из интернета, для него по специальным алгоритмам вычислен хэш, результаты естественно сохраняются, чтобы при следующей проверке определить схожесть результатов. Если они отличаются, то с файлом произошли какие-то изменения. Не обязательно он может быть поврежден, он может быть и заменен более новой версией с изменением каких-то данных.
Сам результат имеет вид строки с фиксированной длинной, которая остается прежней, независимо от размера самого файла. Даже незначительное изменения в файле сразу же изменит хэш.
На данный момент существуют такие хэш алгоритмы, как MD5, SHA-1, SHA-256, а также CRC и ГОСТ Р 34.11-94 и многие другие.
Как проверять хэш скачанного файла?
Для поверки хэша файла есть несколько способов. Применяются они в том, случае, если вас интересует целостность файла, скачанного с какого-то ресурса, например, торрент-треккера. Если на сайте указан один результат хэша, а при проверке выдаётся совершенно другой, то это говорит о явном изменении файла на сервере уже после размещения его туда владельцами ресурса.
Для проверки хэшей можно воспользоваться программой HashTab. После установки она будет встроена в виде вкладки в свойствах файлов.
Это еще не всё. Рассчитать хэш можно и с помощью операционной системы Windows или Linux, а также с помощью MacOS. Если вам это интересно, то я расскажу, как воспользоваться стандартными средствами этих ОС.
Проверка хэша в Windows
Рассчитать значение хэша можно с помощью утилиты PowerShell. Запустить её можно так: открываем поиск и вводим «PowerShell» и открываем результат.
Нужно прописать команду, указывая путь до файла, который вы хотите проверить. В моём примере команда выглядит следующим образом:
Get-FileHash D:\Programs\file.iso
На месте «file.iso» может любое имя и формат файла. Если файл будет очень большой по объему, то нужно немного подождать, пока хэш сгенерируется.
По умолчанию утилита PowerShell показывает результат в виде алгоритма SHA-256, но вы можете самостоятельно выбрать, какой алгоритм использовать. Для этого в конце программы нужно приписать этот алгоритм:
Get-FileHash D:\Programs\file.iso -Algorithm MD5
Вы можете использовать еще и такие: SHA1, SHA256, SHA384, SHA512, MACTripleDES, RIPEMD160.
Теперь вы можете сравнить результаты с теми, которые у вас имеются на руках. Если всё сходится, то файл не изменен, иначе будет отличаться от оригинала.
Проверка хэша в MacOS
В операционной системе MacOS также имеются возможности для проверки хэша данных. Для этого нужно запустить окно терминала, это можно сделать следующим образом: Finder > Applications > Utilities > Terminal.
Следующая команда рассчитает алгоритм MD5 для файла:
md5 /Folder/NameFile
А вот команды для других алгоритмов хэширования:
SHA-1
Shasum /Folder/NameFile
Shasum –a 1 /Folder/NameFile
SHA-256
Shasum –a 256 /Folder/NameFile
Проверка хэша в Linux
Практически в любой операционной системе на базе Linux вы можете рассчитать хэш через терминал.
md5sum /Folder/NameFile
sha1sum /Folder/NameFile
sha256sum /Folder/NameFile
Вот и всё. Вы узнали о методах хэширования, которые помогают узнать о целостности данных. Думаю, на этом можно закончить эту статью.