intDataBlog
← ЖурналМаршруты обучения ↗

MD5 collision: где это всё ещё опасно

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

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

Где MD5 особенно опасен

  • Подписи, approvals, юридически значимые вложения и документы.
  • Dedup, где хеш решает, что файл уже есть и его можно не хранить.
  • Кэширование артефактов сборки, если источник может быть недоверенным.
  • Интеграции, где MD5 используется как proof of integrity.

Что использовать вместо

Для целостности файла в обычных системах используйте SHA-256 или SHA-512. Для аутентичности нужен не просто хеш, а HMAC или цифровая подпись, где есть секретный ключ или проверяемый public key.

sha256sum artifact.tar.gz
openssl dgst -sha256 artifact.tar.gz

Миграция без поломки

Если MD5 уже лежит в базе, добавьте новое поле для SHA-256, пересчитайте хеши фоном и переводите проверки на новый алгоритм поэтапно. Старый MD5 можно оставить как legacy metadata, но не как основание доверия.