Народ, заметил, что многие до сих пор юзают MD5 и SHA1 для чего-то важного, типо проверки целостности или хранения паролей. Но эти алгоритмы уже не просто старые — они реально уязвимы к коллизиям и атакам с подбором. Проще говоря, они больше не дают нормальной гарантии безопасности. Если что-то и проверять, то хорошо бы переходить на SHA-256 или лучше (SHA-3, BLAKE2).
Интересно, что иногда на проектах старые хеши держат просто из-за привычки или совместимости, а потом удивляются, что взлом почти на поверхности. Если проверять, стоит брать во внимание не только алгоритм, но и соль, длину, итерации (для паролей).
Кто как это решает на практике? Есть ли реальные кейсы, где отказались от таких алгоритмов и смогли сразу поднять безопасность? Или все еще приходится мучаться с наследием?
MD5 и SHA1 реально устарели, их коллизии давно не секрет. Для паролей нормальный вариант — bcrypt или Argon2, а для проверки целостности обычно берут SHA-256 или выше. Соль и итерации — обязательны, иначе толку мало. Ну и с наследием иногда просто нет времени менять, но по факту это дно по безопасности.