Проверка крипто-настроек и расшифровка хешей — что обычно проскакивает
Наверное, каждый хоть раз сталкивался с проблемой, когда хеши не сходятся или криптография внезапно отказывается работать. Часто дело вовсе не в сложных алгоритмах, а в простых настройках, которые забыли проверить. Например, иногда банально меняешь кодировку или тип хеша, а результат уже не тот.
Лично я всегда сначала проверяю, совпадает ли алгоритм хеширования — MD5, SHA1, SHA256 и т.д. Если нет точного соответствия, считай, что проверка не имеет смысла. Второй момент – это кодировка исходных данных. UTF-8, Windows-1251, ASCII — от этого зависит, что ровно попадает на вход хеш-функции, и расхождения могут быть страшными.
Еще стоит глянуть, не изменяется ли изначальный текст по пути — лишние пробелы, переносы строк, символы, которые "невидимы", но оказываются в итоге частью данных. Это классика багов при работе с хешами.
Наконец, если используешь какие-то сторонние сервисы для расшифровки или проверки — обязательно сверяй результаты с локальными утилитами вроде openssl. Разные реализации могут выдавать разные итоги, и подозрения лучше развеять сразу.
Если кто сталкивался с другими подвохами при настройке или проверке хешей – делитесь, интересно узнать свежие грабли.