Что такое MD5, SHA-1, SHA-256 – алгоритмы хэширования и как проверить целостность файлов?

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

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

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

На данный момент существуют такие хэш алгоритмы, как MD5, SHA-1, SHA-256, а также CRC и ГОСТ Р 34.11-94 и многие другие.

Как проверять хэш скачанного файла?

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

Для проверки хэшей можно воспользоваться программой HashTab. После установки она будет встроена в виде вкладки в свойствах файлов.

Проверка хэша с помощью HashTab

Это еще не всё. Рассчитать хэш можно и с помощью операционной системы Windows или Linux, а также с помощью MacOS. Если вам это интересно, то я расскажу, как воспользоваться стандартными средствами этих ОС.

Проверка хэша в Windows

Рассчитать значение хэша можно с помощью утилиты PowerShell. Запустить её можно так: открываем поиск и вводим «PowerShell» и открываем результат.

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

Get-FileHash D:\Programs\file.iso

На месте «file.iso» может любое имя и формат файла. Если файл будет очень большой по объему, то нужно немного подождать, пока хэш сгенерируется.

Вычисление хэша с помощью PowerShell в Windows

По умолчанию утилита PowerShell показывает результат в виде алгоритма SHA-256, но вы можете самостоятельно выбрать, какой алгоритм использовать. Для этого в конце программы нужно приписать этот алгоритм:

Get-FileHash D:\Programs\file.iso -Algorithm MD5

Вычисление хэша с помощью PowerShell в Windows

Вы можете использовать еще и такие: SHA1, SHA256, SHA384, SHA512, MACTripleDES, RIPEMD160.

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

Проверка хэша в MacOS

В операционной системе MacOS также имеются возможности для проверки хэша данных. Для этого нужно запустить окно терминала, это можно сделать следующим образом: Finder > Applications > Utilities > Terminal.

Проверка хэша в MacOS

Следующая команда рассчитает алгоритм MD5 для файла:

md5 /Folder/NameFile

А вот команды для других алгоритмов хэширования:

SHA-1

Shasum /Folder/NameFile
Shasum –a 1 /Folder/NameFile

SHA-256

Shasum –a 256 /Folder/NameFile

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

Практически в любой операционной системе на базе Linux вы можете рассчитать хэш через терминал.

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

md5sum /Folder/NameFile
sha1sum /Folder/NameFile
sha256sum /Folder/NameFile

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

Рейтинг
( Пока оценок нет )
EvilSin225/ автор статьи
Понравилась статья? Поделиться с друзьями:
Компьютерные технологии
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: