Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

MD5-хеш (128 бит)
d41d8cd98f00b204e9800998ecf8427e
32 шестнадцатеричных символа
Длина ввода (символов) 0
Размер ввода (байтов UTF-8) 0

Что такое калькулятор MD5-хеша?

Калькулятор MD5-хеша вычисляет 128-битную контрольную сумму (дайджест) MD5 для любого введённого вами текста. Алгоритм MD5 (Message-Digest Algorithm 5, описанный в RFC 1321) принимает на вход данные произвольной длины и выдаёт фиксированный «отпечаток» из 32 шестнадцатеричных символов. Один и тот же текст всегда даёт один и тот же хеш, но достаточно изменить хотя бы один символ — и результат будет совершенно другим.

Как пользоваться

Введите или вставьте текст в поле ввода и нажмите кнопку. Калькулятор кодирует ваш текст в байты UTF-8, применяет алгоритм MD5 и возвращает хеш в нижнем регистре в шестнадцатеричном виде, а также длину входных данных в символах и их размер в байтах UTF-8. Оставьте поле пустым, чтобы увидеть известный хеш пустой строки.

Как работает алгоритм

MD5 построен по схеме Меркла — Дамгарда. Сообщение дополняется одним байтом 0x80, затем нулями — до тех пор, пока его длина не станет равной 56 по модулю 64 байта, и наконец в конец добавляется исходная длина в битах в виде 64-битного значения с порядком байтов little-endian. Дополненное сообщение разбивается на блоки по 512 бит, каждый из которых обрабатывается за 64 операции в четырёх раундах с применением нелинейных функций, констант для каждого шага, полученных из функции sin, и циклических сдвигов влево. Четыре 32-битных слова состояния (A, B, C, D) инициализируются фиксированными начальными значениями и обновляются для каждого блока; их итоговая конкатенация в порядке little-endian и есть искомый дайджест.

$$\text{MD5}\!\left(\text{Text}\right) = \text{Hex}_{128}\big(A \Vert B \Vert C \Vert D\big)$$

Flow diagram of MD5 processing message blocks into a 128-bit digest
MD5 pads the message and processes 512-bit blocks through four rounds to update state words A, B, C, D.

Разбор примера

Пустая строка ("") содержит ноль байтов. После дополнения она превращается в один блок размером 512 бит, и MD5 возвращает d41d8cd98f00b204e9800998ecf8427e. Текст «hello» (5 байтов) даёт хеш 5d41402abc4b2a76b9719d911017c592.

Diagram showing four 32-bit words concatenated and reordered little-endian into a 32-character hex digest
The four 32-bit registers are concatenated and output in little-endian byte order as a 32-character hexadecimal string.

Частые вопросы

Безопасен ли MD5? Нет. С точки зрения криптографии MD5 считается взломанным — коллизии генерируются без особого труда. Используйте его только для контрольных сумм и неответственных «отпечатков» данных, но не для паролей или цифровых подписей.

Почему число байтов отличается от числа символов? Символы, не входящие в ASCII, занимают в UTF-8 больше одного байта, поэтому строка из 3 эмодзи может весить несколько байтов.

Имеет ли значение регистр букв? Да. «Hello» и «hello» дают совершенно разные хеши.

Последнее обновление: