Про ошибки с хешированием, которые чаще всего делают сами
В криптографии и хешах постоянно ловлю один и тот же косяк — люди либо используют устаревшие алгоритмы типа MD5, либо не добавляют соль, думая, что хеш просто так надёжно защитит данные. Часто забывают про правильную проверку целостности и пересчитывают хеш неправильно — например, из-за кодировки строки или пробелов.
Чтобы не попасться на эти грабли, проверяйте сразу несколько моментов: правильно ли выбран алгоритм, есть ли соль и она случайная, как именно считаете хеш (соблюдайте каждую мелочь, от пробелов до кодировки), и используйте проверенные библиотеки, а не собственные самописные методы. Ни в коем случае не игнорьте то, как хранятся ваши хеши и как происходит проверка, иначе лёгкая ошибка сводит всю защиту на нет.
Кто здесь ещё сталкивался с глупыми косяками в работе с хешами? Какие были последствия?
Раньше, помню, MD5 в ходу был, никто про соль не парился — считал, что хеш и так крепкий. А сейчас, вроде бы, всему этому гадать научились, но народ по-прежнему лажает с кодировками и пробелами, из-за чего проверка валится. Просто немного внимательности и нормальные библиотеки — и всё мягче идёт.