Как проверить хеш сумму файла linux

Обновлено: 04.07.2024

Проверить MD5 (хеш-сумму) в Linux проще всего именно в терминале. Через какой-либо графический интерфейс необходимо будет сделать больше манипуляций, чем просто скомандовать в терминале Linux следующее:

Само собой разумеющееся путь до необходимого вам файла, (/home/pavel/Дистрибутивы/lubuntu-12.04-desktop-i386.iso) необходимо прописывать свой, тот который соответствует нужному объекту для подсчета MD5 суммы в Linux.

Чтобы не вводить путь к файлу вручную, его можно скопировать следующим образом. Через файловый менеджер заходим в каталог, где собственно находится тот нужный нам файл. Адресную строку в файловом менеджере необходимо перевести из вида «иконок» в текстовый вид, клавишами <Ctrl+L>, дальше можно скопировать путь либо с помощью мышки через правый клик, либо клавишами <CTRL+C>. Переходим в терминал и к написанной команде «md5sum» через пробел добавляем наш путь с полным названием файла.

Команды в Linux являются стандартном для всех и значит, что команда md5sum подойдет для любого дистрибутива Linux, в котором бы вы не находились. Это и есть одно из достоинств командной строки.

Проверка MD5 (хеш-сумм) требуется после загрузки больших файлов, которые не смогут нормально работать, если какие-либо файлы повредились или каким-то образом изменились. Проверка MD5 сумм в основном применятся к .iso файлам, чаще всего к дистрибутивам. Если .ISO файл поврежден, то его не стоит записывать на USB брелок (флешку), а тем более на оптический диск, дистрибутив Linux при установке будет сообщать об ошибке каких-либо файлов.

В этой статье мы продолжим углубляться в мир командной строки и сверим MD5 записанного оптического с MD5 суммой исходного файла .ISO с помощью консольной утилиты isoinfo. Для начала мы выудим немного первичной информации о записанном диске командой:

Где /dev/sr0 это DVD-ROM, для уточнения имени вашего примонтированного оптического диска, в том случае если он у вас не один, можно найти по выводу этой команды:

Из имеющейся информации после ввода:

Будет иметься примерно следующее:

Для нас важны эти строчки:

Далее будем подставлять эти строки в следующую команду, которая нам сообщит MD5 сумму

Обратите внимание на три пункта, которые вы должны подставить свои:

  • /dev/sr0 — путь до оптического диска (если он у вас один, значит этот пункт без изменений)
  • bs= 2048 — у вас своё значение «Logical block size is:»
  • count=352406 — из значения «Volume size is:».

После подсчета вы получите примерно следующее:

322e76e15cbe9ae4b964f3e6cbe49e37 — это и есть MD5 сумма диска. Если, она совпадает со значение указанном на сайте, где вы скачивали файл или с исходным файлом на компьютере, то значит, диск записался без ошибок. На практике бывает, что сумма MD5 часто не совпадает с суммой MD5 указанной на сайте из-за ошибок при чтении диска.

5 комментариев Подсчитываем md5 (хеш-сумму) в Linux

нет не усё!
если просто (md5sum /dev/hda или /dev/dvd) то hash посчитается вместе с служебной
информацией записаной на диск и вывод md5 hash будет не верным
правильно как написано в статье.

Большое спасибо. Замечательно доходчиво написано, даже для новичков, каковым я и являюсь.

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

В этой небольшой статье мы рассмотрим что такое контрольная сумма Linux, а также как выполнять проверку целостности файлов с помощью контрольных сумм md5.

Что такое MD5?

Контрольные суммы Linux с вычисляемые по алгоритму MD5 (Message Digest 5) могут быть использованы для проверки целостности строк или файлов. MD5 сумма - это 128 битная строка, которая состоит из букв и цифр. Суть алгоритма MD5 в том, что для конкретного файла или строки будет генерироваться 128 битный хэш, и он будет одинаковым на всех машинах, если файлы идентичны. Трудно найти два разных файла, которые бы выдали одинаковые хэши.

В Linux для подсчета контрольных сумм по алгоритму md5 используется утилита md5sum. Вы можете применять ее для проверки целостности загруженных из интернета iso образов или других файлов.

Эта утилита позволяет не только подсчитывать контрольные суммы linux, но и проверять соответствие. Она поставляется в качестве стандартной утилиты из набора GNU, поэтому вам не нужно ничего устанавливать.

Проверка контрольных сумм в Linux

Синтаксис команды md5sum очень прост:

$ md5sum опции файл

Опций всего несколько и, учитывая задачи утилиты, их вполне хватает:

Сначала скопируйте файл /etc/group в домашнюю папку чтобы на нем немного поэкспериментировать:

cp /etc/group groups

Например, давайте подсчитаем контрольную сумму для файла /etc/group:

md5

Или вы можете сохранить сразу эту сумму в файл для последующей проверки:

md5sum groups > groups.md5

Затем каким-либо образом измените этот файл, например, удалите первую строчку и снова подсчитайте контрольные суммы:

md51
md52

Как видите, теперь значение отличается, а это значит, что содержимое файла тоже изменилось. Дальше верните обратно первую строчку root:x:0: и скопируйте этот файл в groups_list и

cp groups groups_list

Затем опять должна быть выполнена проверка контрольной суммы linux:

md53

Сумма соответствует первому варианту, даже несмотря на то, что файл был переименован. Обратите внимание, что md5sum работает только с содержимым файлов, ее не интересует ни его имя, ни его атрибуты. Вы можете убедиться, что оба файла имеют одинаковые суммы:

md5sum groups groups_list

md54

md5sum groups groups_list > groups.md5

Чтобы проверить, не были ли файлы изменены с момента создания контрольной суммы используйте опцию -c или --check. Если все хорошо, то около каждого имени файла появится слово OK или ЦЕЛ:

md5sum -c groups.md5

md55

Но теперь вы не можете переименовывать файлы, потому что при проверке утилита будет пытаться открыть их по имени и, естественно, вы получите ошибку. Точно так же все работает для строк:

echo -n "Losst" | md5sum -
$ echo -n "Losst Q&A" | md5sum -

md56

Выводы

Из этой статьи вы узнали как выполняется получение и проверка контрольной суммы linux для файлов и строк. Хотя в алгоритме MD5 были обнаружены уязвимости, он все еще остается полезным, особенно если вы доверяете инструменту, который будет создавать хэши.

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

На завершение небольшое видео по теме:


Краткое описание : В этом руководстве для начинающих рассказывается, что такое контрольная сумма, что такое контрольная сумма md5, sha256 или sha-1, почему используется контрольная сумма и как проверить контрольную сумму в Linux.

Что такое контрольная сумма?

Контрольная сумма похожа на цифровой отпечаток файла. В техническом плане

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

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

Чаще всего контрольная сумма используется для проверки поврежденного загруженного файла.

Например, страница загрузки Ubuntu MATE содержит контрольную сумму SHA256 для каждого изображения, доступного там. Таким образом, после загрузки изображения вы можете сгенерировать для него контрольную сумму SHA256 и проверить, соответствует ли значение контрольной суммы значению, указанному на сайте.

Если этого не произойдет, это будет означать, что целостность вашего загруженного изображения нарушена (возможно, он был поврежден в процессе загрузки). Для этого руководства мы будем использовать файл образа Ubuntu Mate « ubuntu-mate-16.10-desktop-amd64.iso ».

Как создается контрольная сумма?

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

  • Безопасные алгоритмы хэширования и варианты (SHA-1, SHA-2 и т. Д.)
  • Алгоритм MD5

Давайте посмотрим, как проверить контрольную сумму в Linux.

Подпишитесь на наш канал на YouTube, чтобы узнать больше о Linux видео

Как использовать контрольную сумму для проверки целостности файла [GUI way]

Если вы ищете графическое решение, вы можете использовать GtkHash .

GtkHash - отличный инструмент для генерации и проверки различных контрольных сумм. Он поддерживает широкий спектр алгоритмов контрольной суммы - включая SHA, MD5 и другие. Вот список поддерживаемых алгоритмов:


GtkHash поддерживает алгоритмы контрольной суммы

Установка GtkHash в Ubuntu

Для установки GtkHash в вашей системе Ubuntu просто выполните следующую команду:

Для выбора алгоритмов контрольной суммы использовать :

По умолчанию - MD5, SHA-1 и SHA256.

Использование GtkHash

Использовать его довольно просто.

Вот пример, показывающий, как GtkHash генерирует контрольную сумму для ISO-образа UbuntuMATE ( ubuntu-mate-16.10-desktop-amd64.iso ):


GtkHash с UbuntuMATE iso

Проверьте контрольную сумму в командной строке Linux

Каждый дистрибутив Linux поставляется с инструментами для различных алгоритмов контрольной суммы. Вы можете создать и проверить контрольную сумму с ними. Инструменты контрольной суммы командной строки:

  • Инструмент контрольной суммы MD5 называется: md5sum
  • Инструмент контрольной суммы SHA-1 называется: sha1sum
  • Инструмент контрольной суммы SHA-256 называется: sha256sum

Есть еще несколько доступных, например: sha224sum, sha384sum и т. Д. Все они используют похожие форматы команд. Давайте посмотрим пример использования sha256sum . Мы будем использовать тот же файл изображения « ubuntu-mate-16.10-desktop-amd64.iso », который мы использовали ранее.

Генерация и проверка контрольной суммы SHA256 с помощью суммы sha256

Сначала перейдите в каталог, где хранится образ .iso :

Теперь для генерации контрольной суммы SHA256 введите следующую команду:

Вы получите контрольную сумму SHA256 в окне своего терминала! Легко, не правда ли?


Генерация контрольной суммы SHA256 для UbuntuMATE iso

Если сгенерированная контрольная сумма совпадает с контрольной суммой, представленной на странице загрузки UbuntuMATE, это будет означать - никакие данные не были изменены во время загрузки файла или установки другого значения, загруженный файл не поврежден.

Другие упомянутые инструменты работают аналогично.

Насколько точно это работает?

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

Вы контрольную сумму?

Одним из предлагаемых шагов при установке Linux является проверка контрольной суммы Linux ISO. Вы всегда выполняете этот шаг или делаете это только тогда, когда что-то не так с установкой?

Было ли это руководство полезным? Если у вас есть какие-либо вопросы, дайте нам знать! А также, если вам нужно подобное руководство для чего-то другого, свяжитесь с нами, мы здесь, чтобы помочь.

Контрольная сумма используется для проверки целостности файла.

Ее можно охарактеризовать как цифровой отпечаток файла.

Проверяя значение Checksum, мы можем определить целостность файла, когда он был перенесен из одного места в другое.

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

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

Генерирование контрольных сумм Linux

Контрольная сумма генерируется алгоритмом контрольной суммы.

Он генерирует значение контрольной суммы, беря файл в качестве ввода.

Инструменты командной строки для работы с контрольной суммой

Почти все дистрибутивы Linux предоставляют инструменты командной строки для различных алгоритмов контрольной суммы.

Вы можете сгенерировать и проверить контрольную сумму используя их.

Некоторые из стандартных инструментов командной строки, используемые в настоящее время, следующие:

  • MD5 : md5sum
  • SHA-1 : sha1sum
  • SHA-256 : sha256sum
  • SHA-384 : sha384sum
  • SHA-224 : sha224sum
  • SHA-512 : sha512sum

Примеры

Давайте рассмотрим некоторые примеры использования этих инструментов командной строки для создания значений контрольной суммы.

Я создал один из тестовых файлов index.html.

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

md5sum:

Вы можете видеть мой файл, я сгенерировал значение контрольной суммы, соответствующее этому файлу, используя алгоритм MD5.

$ cat index.html
<html>
<body>
<center><h1>Welcome to our Checksum Testst</h1></center>

$ md5sum index.html
c36f11e50d72d1a090e9ebab382994fa index.html

sha1sum:

$ sha1sum index.html
e45d71387b61782e65f766dd11381762d00f9e15 index.html

sha256sum/sha512sum/sha224sum/sha384sum:

Они отличаются размером слова; SHA-256 использует 32-битные слова, тогда как SHA-512 использует 64-битные слова.

Существуют также усеченные версии каждого стандарта, известные как SHA-224, SHA-384, SHA-512/224 и SHA-512/256.

Алгоритм SHA-256 генерирует почти уникальный 256-битный (32 байт) файл фиксированный размер.

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

$ sha256sum index.html
b29c03bfe9851088349c170ec27f34a0c7869dfcbdfc2c42cd79fb0315e20eb6 index.html

$ sha512sum index.html
79e538a320e984bb3a0d32312140b37d6ac50bc1127edfd6027990955ef7fef499855d928caec index.html

$ sha224sum index.html
268729b7123abe0bd17fdf64402c27b4afa56be0ac3b869c8028798e index.html

$ sha384sum index.html
d80cb792dcb3ac3a8e4d3e18e47aa56b8318d5d4c28c5cf1b4602375def6d03f38303b76530index.html

Проверка файла с помощью контрольной суммы

Мы уже изучили различные методы генерации значений контрольной суммы.

Теперь мы можем узнать, как проверить правильность файла, используя методы контрольной суммы.

Давайте загрузим файл ISO с веб-сайта.

Как вы можете видеть, будет указано значение контрольной суммы, соответствующее любому файлу.

Давайте загрузим наш образец ISO и проверим его целостностьь, сравнив значение контрольной суммы для загруженного файла и значение md5sum на веб-сайте.

$ md5sum dsl-4.4.10.iso
5cb7e0d4506c249b78bbe0cd4695b865 dsl-4.4.10.iso

Вы можете подтвердить целостность загруженного ISO, сравнив значение контрольной суммы.

Кажется, оно совпадает , что означает, что вы скачали тот файл.

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

И хэш сумма определенно не будет соответствовать контрольной сумме, предоставленной на странице загрузки нашего веб сайта.

Разработчики предоставляют информацию в виде специального hash ключа с помощью которого проверяется в порядке образ или нет. С тем для чего проверять iso образ дистрибутива разобрались. Далее будем выяснять как и с помощью каких инструментов сравнить контрольные суммы и проверить целостность файлов.

Проверка контрольной суммы iso образа в Linux

Информация с хэш файлами выкладывается на сервере для скачивания или сообщается дополнительно. Для примера возьмем Debian. На сервере для скачивания дистрибутива есть файлы названные по алгоритму хеширования; MD5SUMS, SHA1SUMS и тп.. В них указана нужная информация. Для подтверждения подлинности файла метод (md5 - "Message Digest 5" или sha - "Secure Hash Algorithm").

Контрольная сумма образа. Список файлов для сравнения md5suns

В линукс есть штатные утилиты с помощью которых проверяются хеши файлов. Это md5sum для алгоритма md5 и shasum для проверки алгоритма sha. Это консольные утилиты поэтому терминал. Запустим его и введем команду: md5sum имя_файла.

Проверка контрольной суммы файла. Переходим в каталог с файлом и для проверки образа - debian-live-8.6.0-amd64-cinnamon-desktop.iso

указываем в терминале:

Получаем результат: d68795adebd4bdee97c85fe226e16ff7 . Сравним с информацией с сервера: d68795adebd4bdee97c85fe226e16ff7.

Контрольная сумма образа, вывод хеш суммы файла диска

Как видим хеш файлов совпадает. Дистрибутив пригоден.

Так же поступаем если хотим проверить алгоритм sha. Только дополняем команду в зависимости от битности алгоритма 1-, 256-, 384- или 512-битного. Например так:

Сверяем с информацией на сайте как в предыдущем примере.

Проверка контрольных сумм в линукс с помощью программы GtkHash

Теперь давайте рассмотрим как проверить контрольные суммы файлов, вариант с графическим интерфейсом (GUI). Установите программу с помощью команды:

Запустите программу. Выберите с помощью кнопки расположенной рядом с надписью "Файл" нужный файл. На рисунке номер 1. И нажмите кнопку "Hash". На рисунке под номером 2.

Окно программы GtkHash

Программа посчитает хеши сразу по трем алгоритмам: md5, sha1 и sha256.

Сравнение контрольных сумм в программе GtkHash

Возможности утилиты гораздо шире. Для настройки выберите пункт "Правка", "Параметры". Откроется окно в котором можно выбрать большое количество хеш функций.

Окно настроек GtkHash с выбором хеш функций

Установить флаг (галочку) напротив нужной и она будет отображена в главном окне. После обработки результат также будет отображен во всех выбранных окнах.

Как проверить контрольную сумму файла в Windows

У microsoft тоже есть своя утилита командной строки и называется она fciv.exe (File Checksum Integrity Verifier utility).

В Windows 10 появилась утилита командной строки CertUtil. Для проверки хеша с её помощью введите команду:

Я предлагаю использовать более простой способ проверить контрольные суммы образа. С помощью программы Hashtab. Скачайте программу с официального сайта .

После установки программа интегрируется в проводник. Зайдите в папку со скачанным образом. Правым кликом кликните по файлу и выберите из контекстного меню пункт "Свойства". Перейдите на вкладку "Хэш-суммы файлов". Увидите хеши в двух интересующих нас алгоритмах, md5 и sha1.

Как проверить контрольную сумму файла в Windows

Если хеши не отобразились или требуется указать дополнительные алгоритмы расчета то нажмите на ссылку "Настройки".

Ссылка для настройки программы Hashtab

В открывшемся меню поставьте флаги напротив требуемых значений.

Меню настройки программы для подсчета хеш-сумм файлов в виндовс HashTab

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

Сравнение по алгоритму md5. Если видим что на значке решетка появилась зеленая галочка значит значения совпадают. Файл в порядке можно пользоваться.

Проверка хеш-суммы образа в программе HashTab по алгоритму md5 с правильным значением и выводом зеленой галочки

Используя кнопку "Сравнить файл" можно сравнить хеши двух файлов. Я, для примера, сравнил два iso образа дебиан xfce и lxqt. Их значения, конечно, не сошлись, что и отображено на скриншоте, где показан красный крест на значке решетки.

Пример неверного значения хеша в программе HashTab


На этом всё. Надеюсь теперь у вас не возникнет проблем с проверкой контрольной суммы файлов ни в линукс ни в виндовс.

Читайте также: