Вміст статті:

У деяких ситуаціях, можливо, необхідно порахувати MD5 хеш-суму для файлу, який ви завантажили на свій комп'ютер. Наприклад, щоб бути впевненим, що ви завантажили саме той файл, який хотіли і зловмисник його не модифікував. У цій статті ми розглянемо 2 різні способи зробити це: через розширення для провідника, а також через командний рядок.

Варіант через розширення для провідника

Для провідника Windows є чудова програма Hashtab, яка безкоштовна для некомерційного використання. Завантажити її можна з . Вибираємо безкоштовну (Free) версію та тиснемо на кнопку "Download".

Після встановлення програми, у контекстному меню провідника з'явиться нова вкладка "Хеш-суми файлів", вибравши яку, програма автоматично порахує хеш-суми для вибраного файлу залежно від того, які алгоритми вибрано в її налаштуваннях.

Варіант через командний рядок (із встановленням програми)

У випадку, якщо необхідно порахувати хеш-суму файлу через командний рядок, ми можемо скористатися утилітою від Microsoft, яка підходить саме для таких випадків. Завантажуємо її з і встановлюємо. Для цього потрібно буде створити якусь папку на жорсткому диску та вказати її в процесі встановлення. У нашому прикладі програма була встановлена ​​в папку C: Program Files (x86) FCIV. Для того, щоб порахувати MD5 хеш-суму файлу, нам необхідно запустити командний рядок і в ньому набрати наступну команду:

"C:\Program Files (x86)\FCIV\fciv.exe" -md5 C:\Users\Admin\Downloads\HashTab_v6.0.0.34_Setup.exe

Як бачите, MD5 хеш-сума однакова як першого варіанта, так другого.

"C:\Program Files (x86)\FCIV\fciv.exe" - це шлях до файлу fciv.exe
-md5 - вказівка ​​алгоритму за яким fciv.exe вважатиме хеш-суму
C:\Users\Admin\Downloads\HashTab_v6.0.0.34_Setup.exe - шлях до файлу, для якого ми вважаємо хеш-суму.

Варіант через командний рядок (без встановлення програм)

Якщо вам не хочеться встановлювати будь-які програми, то можна обійтися вбудованими засобами Windows, для цього можна скористатися утилітою CertUtil.

Контрольна сума - це цифра чи рядок, яка обчислюється шляхом підсумовування всіх цифр потрібних даних. Її можна використовувати в подальшому для виявлення помилок у даних, що перевіряються при зберіганні або передачі. Тоді контрольна сума перераховується ще раз і отримане значення звіряється з попереднім.

У цій невеликій статті ми розглянемо, що таке контрольна сума Linux, а також як перевіряти цілісність файлів за допомогою контрольних сум md5.

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

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

Ця утиліта дозволяє не лише підраховувати контрольні суми linux, а й перевіряти відповідність. Вона постачається як стандартна утиліта з набору GNU, тому вам не потрібно нічого встановлювати.

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

Синтаксис команди md5sum дуже простий:

$ md5sum опції файл

Опцій лише кілька і, враховуючи завдання утиліти, їх цілком вистачає:

  • -c- Виконати перевірку по файлу контрольних сум;
  • -b- працювати у двійковому форматі;
  • -t- працювати у текстовому форматі;
  • -w- виводити попередження про неправильно відформатований файл сум;
  • --quiet- не виводити повідомлення про успішні перевірки.

Спочатку скопіюйте файл /etc/group у домашню папку, щоб на ньому трохи поекспериментувати:

cp /etc/group groups

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

md5sum groups > groups.md5

Потім якось зміните цей файл, наприклад, видаліть перший рядок і знову підрахуйте контрольні суми:


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

cp groups groups_list

Потім знову має бути виконано перевірку контрольної суми linux:

md5sum groups_list

Сума відповідає першому варіанту, навіть незважаючи на те, що файл було перейменовано. Зверніть увагу, що md5sum працює тільки з вмістом файлів, її не цікавить його ім'я, ні його атрибути. Ви можете переконатися, що обидва файли мають однакові суми:

md5sum groups groups_list

Ви можете перенаправити виведення цієї команди у файл, щоб потім мати можливість перевірити контрольні суми:

md5sum groups groups_list > groups.md5

Щоб перевірити, чи не було змінено файли з моменту створення контрольної суми, використовуйте опцію -cабо --check. Якщо все добре, то біля кожного імені файлу з'явиться слово OKабо ЦІЛ:

md5sum -c groups.md5

Але тепер ви не можете перейменовувати файли, тому що під час перевірки утиліта намагатиметься відкрити їх на ім'я і, звичайно, ви отримаєте помилку. Так само все працює для рядків:

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

Висновки

З цієї статті ви дізналися як виконується отримання та перевірка контрольної суми linux для файлів та рядків. Хоча в алгоритмі MD5 були виявлені вразливості, він все ще залишається корисним, особливо якщо ви довіряєте інструменту, який створюватиме хеші.

Перевірка цілісності файлів Linux – це дуже важливий аспект використання системи. Контрольна сума файлу Linux використовується не тільки вручну під час перевірки завантажених файлів, але й у багатьох системних програмах, наприклад, у менеджері пакетів. Якщо у вас залишилися питання, запитуйте у коментарях!

На завершення невелике відео

MD5 або Message Digest 5 це 128-бітний алгоритм хешування, розроблений на початку 90-х років професором Рональдом Рівестом. Як правило, представляється як послідовність з 32 шістнадцяткових цифр, наприклад:. Для того щоб зрозуміти, що таке MD5 спочатку потрібно розібратися з поняттям хешування.

Хешування це процес перетворення будь-якого масиву даних у вихідний рядок фіксованої довжини. Це перетворення проводиться за допомогою так званих хеш-функцій. Така функція на вході отримує масив даних, а на виході повертає так званий хеш (хеш-суму) – унікальний рядок фіксованої довжини.

Алгоритм роботи хеш-функції побудований таким чином, що для будь-якого масиву даних функція видає унікальний рядок. Завдяки цій особливості отриманий рядок може використовуватися як цифровий відбиток даних. Такий відбиток можна використовувати для перевірки цілісності даних.

Наприклад, коли розробник програмного забезпечення публікує в мережі свій програмний продукт, він може опублікувати його хеш. Це дозволить користувачам перевірити цілісність програми перед її встановленням. Якщо програма була заражена вірусами або завантажилася з помилками, її хеш не відповідатиме хешу, опублікованому розробником програми.

Історія розвитку MD5

Алгоритм MD5 був розроблений професором Рональдом Л. Рівестом з Массачусетського технологічного інституту у 1991 році. Цей алгоритм став заміною попередньої версії алгоритму MD4. З цього часу алгоритм набув великої популярності і став використовуватися повсюдно.

Починаючи з 1993 року, регулярно з'являються дослідження, які виявляють нові вразливості в алгоритмі MD5. На даний момент алгоритм MD5 вважається вразливим та поступово замінюється алгоритмом SHA.

Як отримати хеш MD5

Якщо вам необхідно отримати MD5 хеш від звичайного рядка тексту, то зручніше використовувати онлайн сервіси. Одним із таких сервісів є .

Для того щоб отримати MD5 хеш за допомогою цього сервісу, достатньо ввести рядок у поле і натиснути на кнопку «Hash». Після цього з'явиться хеш введеного рядка.

Якщо вам потрібно отримати MD5 хеш файлу, то доведеться використовувати спеціальні програми, наприклад, MD5summer ().

Працювати з цією програмою дуже просто. Для того щоб отримати MD5 хеш файлу, достатньо запустити програму і вибрати потрібний файл.

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

Md5sum /home/pavel/Дистрибутиви/lubuntu-12.04-desktop-i386.iso

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

Щоб не вводити шлях до файлу вручну, його можна скопіювати в такий спосіб. Через файловий менеджер заходимо в каталог, де власне перебуває той потрібний нам файл. Адресний рядок у файловому менеджері необхідно перевести з вигляду «іконок» у текстовий вигляд, клавішами далі можна скопіювати шлях або за допомогою мишки через правий клік, або клавішами . Переходимо в термінал і до написаної команди «md5sum» через пропуск додаємо наш шлях з повною назвою файлу.

$ md5sum /home/pavel/Дистрибутиви/lubuntu-12.04-desktop-i386.iso /home/pavel/Дистрибутиви/lubuntu-12.04-desktop-i386.iso

Команди в Linux є стандартним для всіх і означає, що команда md5sumпідійде для будь-якого дистрибутива Linux, в якому ви не знаходилися. Це і є одна з переваг командного рядка!

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

Після запису дистрибутива Linux на оптичний диск потрібно перевірити цілісність, дізнатися про його MD5 суму

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

Isoinfo -d -i /dev/sr0

Де /dev/sr0 це DVD-ROM, для уточнення імені вашого примонтованого оптичного диска, якщо він у вас не один, можна знайти за висновком цієї команди:

З наявної інформації після введення:

$ isoinfo -d -i /dev/sr0

Буде приблизно таке:

CD-ROM є в ISO 9660 format System id: Volume id: Lubuntu 12.04 i386 Volume set id: Publisher id: Data preparer id: XORRISO-1.0.8 2011.04.14.073001, LIBISOBURN-1.0. -1.0.6 Application id: Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence is: 1 Logical block size is: 2048 Volume size is: 352406 El Torito VD version boot catalog is in sector 320 Joliet with UCS level 3 found Rock Ridge signatures version 1 found Eltorito validation header: Hid 1 Arch 0 (x86) ID "" Key 55 AA Eltorito defaultboot header: Bootid 88 (bootable) Boot media 0 (No Boot) Load segment 0 Sys type 0 Nsect 4 Bootoff 52A18 338456

Для нас важливі ці рядки:

Logical block size is: 2048 Volume size is: 352406

Dd if=/dev/sr0 bs=2048 count=352406 conv=notrunc,noerror | md5sum -b

Зверніть увагу на три пункти, які ви повинні підставити:

  • /dev/sr0 - шлях до оптичного диска (якщо він у вас один, значить цей пункт без змін)
  • bs = 2048 - у вас своє значення "Logical block size is:"
  • count=352406 - значення «Volume size is:».

Після підрахунку ви отримаєте приблизно таке:

352406+0 записів раховано 352406+0 записів написано скопійовано 721727488 байт (722 MB) *- , 55,3223 c, 13,0 MB/c

- це MD5 сума диска. Якщо вона збігається зі значенням, вказаним на сайті, де ви завантажували файл або з вихідним файлом на комп'ютері, значить диск записався без помилок. На практиці буває, що сума MD5 часто не збігається із сумою MD5, вказаною на сайті, через помилки при читанні диска.

Перевірка правильності скачування файлу з архіву за допомогою програми Total Commander

Програма "Total Commander" є багатофункціональним аналогом "Провідника" в Windows; перевірка md5-сум просто вбудована в неї як додаткова функція. Спеціально для перевірки md5-сум таку велику програму встановлювати, звичайно, нема рації. Але якщо вона вже є, можна скористатися можливістю з її допомогою перевірити правильність скачування файлу.

1. Відкрийте у вікні Total Commander директорію з файлом для перевірки та еталонною md5-сумою до нього та клацніть лівою кнопкою миші потрібний md5-файл (в даному випадку він єдиний):

2. У меню Files виберіть "Verify CRC Checksums":

3. Дочекайтеся закінчення процесу перевірки:

4. Тепер, якщо у вікні звіту ви побачите ліворуч від назви файлу «OK»

Це означає, що все гаразд і файл завантажився правильно. Якщо ж звіт виглядатиме приблизно так:

Значить, файл пошкоджений і вам доведеться завантажувати його знову.

Увага! Total Commander створює контрольні суми у своєму форматі, можуть бути перевірені лише їм самим. Тому намагайтеся не використовувати цю програму для створення контрольних сум, якщо ви не впевнені, що у тих, хто перевірятиме правильність скачування, Total Commander встановлений.

1. Відкрийте у вікні Total Commander директорію з потрібним файлом/файлами:

2. Виділіть потрібні файли: