Кто-нибудь сталкивался с тем, что вроде всё правильно сделал: алгоритмы, соль, формат, а в итоге хеш не совпадает или валидация ломается? У меня недавно такое было — долго искал, где запутался. Часто проблема в мелочах: забываешь нормализовать входные данные, или перемешиваешь порядок соли и пароля, либо используешь неправильный кодировщик. Ещё бывает, что один и тот же алгоритм называют по-разному (md5, MD5, Md5), и библиотеки могут работать по-разному. Ещё одна ловушка — кэширование значения или гонки при обновлении хеша.
Как вы обычно проверяете, что хеш правильно считали? Перепроверяете с другими инструментами? Тестируете на простых примерах? Или просто сравниваете с готовыми? Кто какие ошибки чаще всего ловил и как быстро находил причину? Хотелось бы услышать реальные советы, чтобы не наступать на те же грабли.
Часто сам себе мозг ломал из-за того, что где-то соль добавлял не в том месте или неправильно строку кодировал. Главное — всегда точно фиксировать порядок действий и используемые кодировщики, а лучше заранее сделать пару тестов с жестко заданными значениями, чтобы проверить, что хеш совпадает. И да, мелочь вроде пробелов или разного регистра — тоже ловушка.