Всем привет! Делаю тут для себя небольшой чек-лист по работе с хешами и криптографией, может кому пригодится или дополнит.
Сначала всегда смотрю, какой алгоритм используется — md5, sha1, sha256 и т.д. Нельзя слепо доверять md5, например, для паролей. Потом проверяю, как формируется строка для хеширования — иногда забывают добавить соль или делают её статичной.
Дальше пробую пересчитать хеш на тестовом примере и сравнить с ожидаемым результатом. Если есть возможность, использую готовые библиотеки того же python или openssl, так меньше косяков.
Еще важно проверить, не превращается ли хеш в строку с неправильной кодировкой или лишними символами. Бывает, что из-за этого сравнения не сходятся.
Варианты, если что-то не так: можно менять алгоритм, добавлять нормальную соль, использовать pbkdf2 или bcrypt для паролей. Главное — не просто копировать рецепты из гугла, а понимать, что делает твой код.
В общем, если у кого-то есть свои правила или способы проверки и настройки хешей — интересно услышать. Кто как держит этот момент под контролем?