MD5 и SHA-1: почему старые методы хеширования небезопасны
Коротко: MD5 и SHA-1 взломаны атаками на коллизии; для безопасности используйте SHA-256, SHA-3 или BLAKE3, для паролей — специальные медленные методы вроде Argon2.
Подробнее: Хеш-функция превращает произвольные данные в короткий отпечаток. Она безопасна, если (1) данные нельзя вывести из хеша (односторонняя функция), (2) нельзя найти другой вход с тем же хешем (второй прообраз) и (3) нельзя найти два входа с одним хешем (стойкость к коллизиям). MD5 и SHA-1 нарушают (3).
Подробности
Что произошло?
- MD5 (1992, 128 бит): к 2004/2008 годам коллизии вычислялись за секунды.
- SHA-1: в 2017 году показана первая практическая коллизия.
См. также: SHA-256, хеширование, безопасное хранение паролей, Argon2