Перейти до вмісту
Обране

Генератор хешів MD5

Оновлено:

Введіть будь-який текст і одразу отримайте його 128-бітовий хеш MD5 у вигляді 32-символьного шістнадцяткового рядка. Корисно для контрольних сум, перевірки файлів та контролю цілісності даних.

Створити хеш MD5

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

Формула хешу MD5

Формула
\[ \text{MD5}(M): \text{доповнити } M \text{ до кратного 512 бітам, а потім виконати 64 раунди змішування для кожного 512-бітового блоку} \\ F(x, y, z) = (x \land y) \lor (\lnot x \land z) \\ G(x, y, z) = (x \land z) \lor (y \land \lnot z) \\ H(x, y, z) = x \oplus y \oplus z \\ I(x, y, z) = y \oplus (x \lor \lnot z) \]

Де:

  • \(M\) — вхідне повідомлення, яке спочатку перетворюється на байти UTF-8
  • \(F, G, H, I\) — чотири допоміжні булеві функції, що використовуються в чотирьох раундах MD5
  • \(\land, \lor, \lnot, \oplus\) — побітові AND, OR, NOT та XOR

Повідомлення доповнюється так, щоб його довжина стала кратною 512 бітам, причому наприкінці додається початкова довжина в бітах. Далі алгоритм обробляє кожен 512-бітовий блок за 64 кроки, змішуючи дані блоку з чотирма 32-бітовими регістрами, які ініціалізуються константами \(A = \texttt{67452301}\), \(B = \texttt{efcdab89}\), \(C = \texttt{98badcfe}\), \(D = \texttt{10325476}\). Підсумкові значення чотирьох регістрів, записані в порядку little-endian, утворюють 128-бітовий дайджест.

Хеш MD5 — приклад обчислення

Приклад: текст Hello world! хешується методом MD5.

\[ \text{MD5}(\texttt{Hello world!}) = \texttt{86fb269d190d2c85f6e04e8f79d3d8a5} \]

Результат: 32-символьний шістнадцятковий хеш MD5 86fb269d190d2c85f6e04e8f79d3d8a5.

Як користуватися генератором хешів MD5

  1. Введіть або вставте свій текст у поле Текст для хешування. Можна вводити будь-які символи, зокрема розриви рядків і нелатинські алфавіти.
  2. Калькулятор обробляє текст прямо у вашому браузері та показує результат у полі Хеш MD5 під заголовком Результат хешування.
  3. Скопіюйте 32-символьний шістнадцятковий рядок і використовуйте його там, де потрібен хеш — як контрольну суму, ключ пошуку чи значення для порівняння.
  4. Щоб обчислити хеш іншого тексту, просто замініть вхідні дані; хеш оновлюється автоматично.

Що таке хеш MD5?

MD5 (Message-Digest Algorithm 5) — криптографічна хеш-функція, розроблена Рональдом Рівестом у 1991 році та описана в RFC 1321. Вона приймає вхідні дані будь-якої довжини та створює фіксований 128-бітовий (16-байтовий) відбиток, який зазвичай записується як 32 шістнадцяткові символи. Однакові вхідні дані завжди дають однаковий хеш, тоді як навіть крихітна зміна входу — доданий пробіл, змінений регістр літери — дає повністю інший дайджест.

Ключова властивість хеш-функції полягає в тому, що вона працює лише в один бік: обчислити хеш із тексту швидко, але відновити текст із хешу обчислювально неможливо. Завдяки цьому MD5 зручний для перевірки цілісності даних: якщо два тексти (або файли) мають однаковий хеш MD5, вони майже напевно ідентичні, а якщо хеші різні — тексти точно різні.

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

Обмеження та практичні поради

  • Не підходить для паролів. MD5 надто швидкий і надто добре вивчений для зберігання паролів. Сучасне хешування паролів вимагає навмисно повільних алгоритмів, таких як bcrypt, scrypt або Argon2, із застосуванням солі.
  • Існують атаки на основі колізій. Дослідники продемонстрували, як побудувати два різні входи з однаковим хешем MD5. Для критично важливих для безпеки підписів і сертифікатів використовуйте натомість SHA-256 або сильніші алгоритми.
  • Цілком підходить для контрольних сум і дедуплікації. Для перевірки випадкових пошкоджень, виявлення дублікатів і некритичного відбиткового позначення MD5 залишається цілком практичним і широко підтримуваним.
  • Кодування входу має значення. Цей калькулятор хешує текст у кодуванні UTF-8. Той самий текст в іншому кодуванні (наприклад, як Base64 або з URL-екрануванням із URL-енкодера) дасть інший хеш.
  • Кінцеві пробіли враховуються. Пробіл або розрив рядка в кінці повністю змінює хеш, тож будьте обережні під час вставляння тексту; лічильник символів допоможе вам перевірити точну довжину входу.
  • Усе працює локально. Хешування виконується у вашому браузері; ваш текст нікуди не завантажується на сервер.

Часті запитання

Як обчислити хеш MD5 із командного рядка?

У Linux і macOS виконайте відповідно md5sum filename або md5 -s "your text". У Windows PowerShell використовуйте Get-FileHash -Algorithm MD5 filename. Результатом буде той самий 32-символьний шістнадцятковий рядок, який створює цей калькулятор, тож ви можете звірити результати. Пам’ятайте, що інструменти командного рядка хешують сирі байти файлу, тому текстові файли з різними кодуваннями або символами кінця рядка (CRLF і LF) дадуть різні хеші.

Який хеш MD5 має порожній рядок?

Порожній рядок є коректним входом для MD5, і його хеш — відоме значення d41d8cd98f00b204e9800998ecf8427e. Цей калькулятор вимагає непорожнього входу, але якщо ви колись побачите цей хеш у базі даних або файлі контрольних сум, це майже завжди означає, що вхід був порожнім — наприклад, файл нульового розміру. Це не код помилки; це просто MD5 від «нічого».

Чи можна розшифрувати чи обернути хеш MD5?

Ні. MD5 — односпрямована функція: не існує алгоритму, який би з 128-бітового дайджесту відновив початковий вхід. Сайти, які називають це «розшифровкою MD5», насправді використовують величезні заздалегідь обчислені таблиці (rainbow tables) поширених входів. Будь-який текст, якого немає в такій базі, відновити неможливо. До того ж, оскільки кожному значенню хешу відповідає нескінченно багато входів, навіть збіг може не бути вашим початковим текстом.

Чому той самий текст в іншому інструменті дає інший хеш MD5?

Найпоширеніші причини — кодування та невидимі символи. Цей калькулятор хешує байти UTF-8; інструмент, що використовує Latin-1, UTF-16 або вхід Base64, дасть інший дайджест. Пробіли в кінці, розриви рядків або кінці рядків Windows (CRLF), додані під час копіювання-вставляння, також повністю змінюють результат. Порівняйте точну байтову довжину входу в обох інструментах — якщо кількість байтів відрізняється, хеші неодмінно будуть різними.

Чи безпечно використовувати MD5 у 2025 році?

Залежить від мети. MD5 не є безпечним для зберігання паролів, цифрових підписів, TLS-сертифікатів або будь-чого, що зловмисник може навмисно підробити, — атаки на основі колізій практичні й швидкі. Він залишається прийнятним для неадверсаріальних завдань: перевірки файлів на випадкові пошкодження, дедуплікації даних і створення ключів кешу. Для будь-якого застосування, критичного до безпеки, оберіть натомість SHA-256 або SHA-3.

Яка ймовірність випадкової колізії MD5?

Випадкові колізії фактично неможливі. При 128-бітовому результаті потрібно було б обчислити близько 264 (приблизно 18 квінтильйонів) випадкових входів, щоб колізія стала ймовірною — це далеко за межами повсякденних обсягів даних. Колізії, що потрапляють у заголовки новин, — це навмисно сконструйовані пари, які експлуатують математичні слабкості MD5, а не випадкові. Тож для виявлення випадкових пошкоджень файлів або дублікатів збіг хешів MD5 є надійним сигналом ідентичності.

Яка різниця між MD5, SHA-1 і SHA-256?

Усі три — криптографічні хеш-функції, які відрізняються головним чином розміром результату та рівнем безпеки. MD5 дає 128 бітів, SHA-1 — 160 бітів, а SHA-256 — 256 бітів. І MD5, і SHA-1 вважаються криптографічно зламаними для використання за наявності зловмисника; SHA-256 є чинним стандартом для застосувань безпеки. Для простих контрольних сум коротший 32-символьний результат MD5 компактніший і швидший для порівняння — саме тому його досі широко використовують для цілей, не пов’язаних із безпекою.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *