Получите контрольную сумму MD5 текста из 32 шестнадцатеричных цифр. Используйте для старых систем сравнения, а не защиты паролей.
Как пользоваться
Введите точный текст и получите хеш. Сравнивайте суммы только при одинаковой кодировке и переносах строк.
Пример
Для hello получится 5d41402abc4b2a76b9719d911017c592. Заглавная H в Hello изменит результат.
Вопросы и ответы
MD5 является шифрованием?
Нет. Это хеш функция с известными коллизиями. Она не подтверждает подлинность при атаке и не подходит для безопасного хранения паролей.
IETF: ограничения безопасности MD5
Практическая задача
MD5 нужен там, где его формат требует старая система. Совпадение суммы помогает заметить случайное изменение, но не доказывает доверенного отправителя. Доверие источнику и коллизии являются разными вопросами.
Дополнительный вопрос
Можно восстановить текст по хешу?
В нём нет обратимой зашифрованной копии. Но простые входы угадывают и проверяют, поэтому обычный MD5 не подходит паролям.
Детали для проверки результата
| Деталь | Пояснение |
|---|---|
| Хеш отпечатки | Хеш сводит точные байты к значению фиксированной длины. Это не сжатая копия для восстановления. Разные хеши указывают на разный ввод, а значение совпадения зависит от алгоритма и модели угроз. |
| Коллизии | Коллизия означает одинаковый хеш у разных входов. У любого хеша фиксированной длины они возможны, но практическая стойкость различается. Известные слабости MD5 не позволяют доказать подлинность при атаке. |
| Байты UTF8 | UTF8 записывает символы байтами. Базовая латиница занимает один байт на букву, многие другие знаки занимают больше. Число байтов не равно числу видимых символов. |
| Концы строк | Перенос может быть записан как LF или CRLF. В редакторе они выглядят похоже, но состоят из разных знаков. Побайтовое сравнение и хеш зависят от записи, включая последний перенос. |
| Внешне одинаковый текст | Две строки могут выглядеть одинаково, но иметь разные последовательности Unicode. Буква с акцентом бывает цельным знаком или сочетанием. Внешнее сходство не доказывает равенство байтов. |
| Кодирование и шифрование | Кодирование меняет представление данных для чтения другой системой и не требует секретного ключа. Шифрование защищает сведения ключом, а хеширование создаёт отпечаток для другой задачи. |
| Полный байт | Байт хранит значение от 0 до 255. В двоичной записи нужны восемь цифр, в шестнадцатеричной две. Начальные нули сохраняют полную ширину и не должны пропадать при копировании. |
| Хранение паролей | Для паролей нужен специальный медленный алгоритм с уникальной солью на сервере. Генератор отпечатка текста не является схемой базы паролей и не определяет безопасное хранение. |
| Границы источника | Резюме и редактура опираются на переданные материалы. Одна ссылка не загружает статью в этом интерфейсе. Добавляйте нужный отрывок и сохраняйте ссылки рядом с подтверждаемыми утверждениями. |