Настройка хешей и криптографии — что реально проверить перед запуском
В последнее время часто натыкаюсь на то, что после внедрения хеширования паролей или других важных данных люди просто ставят алгоритм и забывают про остальное. На практике это приводит к разным проблемам: неправильный выбор алгоритма, отсутствие соли, слабая настройка параметров и в итоге — дыра в безопасности.
Если разбирать пошагово, на что стоит обратить внимание:
1. Убедиться, что алгоритм подходит для задачи. MD5 и SHA1 давно уже не вариант для паролей. Лучше смотреть в сторону bcrypt, Argon2 или хотя бы SHA-256 с солью.
2. Проверить, что соль не фиксированная и уникальная для каждой записи. Без неё смысла в хеше почти нет.
3. Настроить параметры ресурсоёмкости, если используешь адаптивные алгоритмы, чтобы баланс был между безопасностью и производительностью. Не всегда просто, тут нужна пара итераций тестов.
4. Если используешь сторонние библиотеки, убедись, что они последние версии и исправлены.
5. Важно проследить, чтобы хэш и соль не попадали в логи или гит, а хрались там, где им место.
Да, классно поставить «крутую» крипту, но без правильных параметров и контроля ситуации вся работа легко сходит на нет. Кто что обычно проверяет до и после настройки? Есть советы, которые помогли?