С точки зрения безопасности MD-5 полностью сломан.
SHA-1 считается подозрительным, и его следует избегать в большинстве случаев, если это вообще возможно.Для новых проектов: вообще не используйте его.
SHA-2 (он же SHA-256, SHA-512 и т. Д.) По-прежнему широко используется для быстрых хэшей.
SHA-3 - это будущее с 2012 года, ничто не мешает вам уже использовать его.Я не вижу особой причины не использовать его для новых проектов.
В чем проблема со старыми:
- Их сопротивление при обнаружении столкновений ниже номинального: это злоумышленник, создающий 2 содержимогокоторые имеют тот же хэш.Они построены в то же время.Эта проблема существует для MD5 и SHA-1, и это ПЛОХО, но требует, чтобы злоумышленник создал обе версии (и тогда он может сделать переключение в любое время, когда они захотят остаться незамеченным).
- Их устойчивость к атакам с удлинением длиныотносительно слабый.Это особенно верно для MD5, но SHA-1 и даже SHA-2 в некоторой степени страдают от этого.
Когда это не проблема: убедиться, что на вашем диске не выдана ошибка: ихеш подойдет, даже простой CRC32 будет творить чудеса (и я бы порекомендовал более простую проверку CRC) или RAID-массив, поскольку они могут исправлять ошибки, а не просто обнаруживать их.
Использовать оба?Что ж, если вам нужно найти коллизию в одном хеше и иметь тот же набор открытых текстов, который также создает коллизию в другом хеше, то, вероятно, сложнее.Этот подход использовался в прошлом, оригинальный PGP сделал что-то вроде этого.Если я не ошибаюсь, он вычислил несколько вещей, одна из которых - просто длина (которая предотвратит атаку расширения, описанную выше).
Так что да, это, вероятно, что-то добавляет, но способ md5 иВнутренняя работа SHA-1 и SHA-2 довольно схожа, и это вызывает беспокойство: они слишком похожи друг на друга, чтобы быть уверенными в том, сколько они прибавляют против очень искушенного злоумышленника (подумайте об уровне АНБ и его коллег).
Так почему бы не использовать одну из более современных версий SHA-2 или даже лучше SHA-3?У них нет известных недостатков, и они были тщательно проверены.Таким образом, для любого коммерческого использования их должно быть более чем достаточно.
Refs: