Прокопался по хешам, и вот что устарело на самом деле
Заметил, что многие до сих пор кидаются использовать MD5 и SHA-1, как будто они всё ещё в игре. На деле это старье давно не подходит для серьёзных задач — их легко коллизируют, а значит никаких гарантий безопасности. Если просто для таблиц или проверки целостности типа простейшего контроля — да, может, сойдёт. Но если речь идёт о защите паролей или криптографии — выбор очевиден.
Из того, что реально устарело, еще можно припомнить unsalted хеши — без соли сейчас делать просто бессмысленно, потому что rainbow tables сразу в бой. Многие забывают этот момент, а потом удивляются, почему их хеши ломают быстрее, чем ожидалось.
Сейчас чаще смотрю в сторону bcrypt, scrypt или Argon2 — они именно для паролей придуманы, с учётом современного железа и атак. Для чего нужно проверить старую систему — погонять её через проверку коллизий и посмотреть, есть ли уже известные уязвимости. Можно и инструментов куча, которые мониторят статус хеш-функций.
В общем, MD5 и SHA-1 как минимум стоит аккуратно использовать — не при защите важных вещей. А для всего серьёзного лучше выбирать что-то более современное и с "солью". Кто что думает, есть у кого ещё какие наблюдения по устаревшим хешам в реальных проектах?