Частый баг при расшифровке или проверке хеша — банально неправильный формат входных данных. Проверяйте, что хеш именно той криптофункции, под которую делаете поиск, и что не перепутали строчные и заглавные буквы. Иногда копипаст сбрасывает невидимые символы, и тогда простая проверка вида строки на валидность решает проблему. Еще важный момент — используемые соли и параметры (например, в bcrypt или PBKDF2), если они есть, должны совпадать строго с тем, что генерировало хеш. Если игнорировать, получаешь несоответствия. Представьте, что у вас sha256 хеш без соли, а вы пытаетесь расшифровать под salted — результата не будет.
Еще полезно смотрите настройки кодировки при передаче данных, часто в UTF-8/UTF-16 подводят. Если вы в скриптах или программах — выводите промежуточные данные, чтобы сразу видеть, куда «уходит» правильность. В общем, перед тем как лезть в сложные алгоритмы или пытаться подобрать хеш, проверяйте точностью входных данных и соответствие параметров.
У кого еще что заваливалось из-за мелких, но критичных промахов?