Какую функцию хеширования паролей мне следует использовать? - PullRequest
0 голосов
/ 31 марта 2011

Я ищу функцию хэширования паролей, которая может оставаться со мной годами. Выбор неправильного может быть фатальным, так как невозможно обновить существующие хэши без входа пользователей в систему.

Часто предлагается использовать bcrypt или sha256-crypt из glibc. Эти используют ключ растяжения , но мне не нравится тот факт, что я не могу потом растягивать растяжку. Нужно уметь идти в ногу с законом Мура.

Сейчас я рассматриваю простой алгоритм из ссылки на Википедию с SHA-256 для хэш-функции. Это позволяет мне просто добавлять итерации по своему усмотрению.

Однако этот алгоритм не является стандартом. Поэтому маловероятно, что я когда-либо смогу использовать хэш пароля с LDAP, htaccess и т. Д.

Есть ли лучший вариант?

Ответы [ 2 ]

0 голосов
/ 31 марта 2011

Возможно, я подхожу к этому с другой стороны, но если вы говорите, что у вас могут быть пользователи, которые не будут входить в систему в течение длительного времени, тогда это представляет большой риск. Чем дольше вы позволяете пользователю придерживаться одного и того же пароля, тем больше риск грубого обращения со стороны злоумышленника, которому удается каким-либо образом получить ваш хэш-файл пароля. Не надейтесь на безопасность, предотвращающую это ...

Хеш-функции не так быстро устаревают, поэтому я полагаю, что вы должны хорошо проверять это ежегодно, так как, надеюсь, ваши пользователи будут менять пароли чаще.

Очевидно, все зависит от ваших конкретных требований, но подумайте об этом.

Как правило, bcrypt или sha256 могут удовлетворить требования.

Обновление: вы можете подумать о том, чтобы перенаправить этот запрос на security.stackexchange.com, так как это вопрос управления безопасностью.

0 голосов
/ 31 марта 2011

Вы должны использовать SHA1 для хеширования пароля.Однако, помимо алгоритма, вы также должны рассмотреть возможность добавления соли к паролям.В идеале случайная соль должна создаваться для каждого пароля и храниться вместе с паролем.

Это для победы над радужными столами.

Отличная дискуссия: Неслучайная соль для хэшей паролей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...