Разные хеши и подходы — что реально работают, а где подводные камни?
Коллеги, поделюсь наблюдениями по теме хешей и крипты. Часто сталкиваюсь с парой подходов — классический MD5 для проверки и что-то более современное вроде bcrypt или Argon2. С MD5 всё понятно: быстро, просто, но по безопасности — ну всем известно, что это не тот уровень, чтобы на этом держать пароли или важные данные. Зато бывает удобен для быстрых чеков и сопоставлений типа контрольных сумм.
Bcrypt и Argon2 уже сложнее, но мне в общем нравится, что они делают именно то, что надо — усложняют перебор, добавляют соль, адаптивность. Правда настройка у них иногда вызывает вопросы — стоит ли совсем пробегать по максимальным параметрам, и как это влияет на нагрузку. К тому же в разных языках есть свои нюансы с реализациями.
MD5 для паролей — это уже прошлый век, любой нормальный переборщик или коллизии давно умеет делать, так что к безопасности не привязывайтесь. Bcrypt и Argon2 действительно лучше, но их настройка — хитрая штука, можно и слишком загнать сервер, и толку не особо будет. Тут важно баланс найти, не надо сразу на максимал вгонять.