Привет, хабр! Сегодня процессе разработки системы авторизации для своего проекта передо мной встал ...
Привет, хабр! Сегодня процессе разработки системы авторизации для своего проекта передо мной встал выбор — в каком виде хранить пароли пользователей в базе данных? В голову приходит множество вариантов. Самые очевидные:
- Хранить пароли в БД в открытом виде.
- Использовать обычные хэши crc32, md5, sha1
- Использовать функцию crypt()
- Использовать статическую «соль», конструкции вида md5(md5($pass))
- Использовать уникальную «соль» для каждого пользователя.
Читать дальше →
Предупреждаю. Пост ориентирован на новичков в разработке на платформе Qt ...
Привет, Хабр!
Предупреждаю. Пост ориентирован на новичков в разработке на платформе Qt SDK.
В программировании часто есть потребность безопасно сохранять информацию на внешнем носителе. К примеру — при первом запуске наша программа спросила пароль у пользователя. Он ввел его. У нас есть два варианта: загрузить пароль на удаленный сервер или использовать хэш-функцию, добавить немного соли и сохранить локально. А каждый следующий раз просто проверять на равенство. Многие начинающие, а иногда и опытные разработчики не знают, что в Qt SDK есть встроенные алгоритмы криптографии строк – md4, md5, sha1. Для этого надо использовать специальный класс и его методы.
Читать дальше →
Как и было обещано в соседней теме, где рассказывался велосипед, выкладываю описание алгоритма SRP ...
Как и было обещано в соседней теме, где рассказывался велосипед, выкладываю описание алгоритма SRP RFC2945 — способе регистрации и аутентификации пользователей безопасным образом по небезопасному каналу. Вот только в процессе подготовки статьи я обнаружил на более свежую версию протокола, SRP-6, вместе с реализацией, в связи с чем решил выбросить свои архаичные наработки по SRP-3, и просто дать ссылки на имплементацию новой версии.
Читать дальше →