Коллизия - это ситуация, когда разные входные данные дают один хеш. Для 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, но не как основание доверия.