Типичные ляпы с криптой и хешами — кто как избегает?
Всякий, кто работает с криптографией и расшифровкой хешей, рано или поздно натыкается на грабли. Например, самая распространённая ошибка — использовать слабые или устаревшие алгоритмы, типа MD5 или SHA1, думая, что это всё ещё норм. Плюс, часто забывают про соль (salt) при хешировании паролей — в итоге «уникальность» хеша улетучивается, и брутфорсят проще.
Ещё момент — путаница с форматом хешей. Много где встречал, как люди принимают один и тот же хеш за разные варианты (hex, base64), и из-за этого методы расшифровки (ну, точнее перебора) сразу забивают. Лучше всегда чётко проверять ввод и формат.
Когда работаете с хешами, важно сразу понять — что именно вы хотите: проверить целостность, сохранить пароль в базе с доп. безопасностью, или расшифровать что-то для анализа. Это прям влияет на выбор алгоритмов и подходов. Например, bcrypt и Argon2 хорошо для паролей, а SHA-256 для контрольных сумм.
Лично я стараюсь всегда сначала проверить, нет ли в открытых источниках уже слитых словарей для конкретного хеша, и только потом пускать в дело таскеры на многопоток. Иногда проще и быстрее, чем лепить кастомные скрипты.
Короче, если кто-то в теме, поделитесь, как и с какими ошибками сталкивались, и что помогает не наступать на те же грабли?