Лучший алгоритм хеширования, предоставленный моим хостом - PullRequest
0 голосов
/ 19 сентября 2011

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

Вот список всех алгоритмов, предоставленных хостом: http://www.eresig.tk/hash.php

Ответы [ 3 ]

8 голосов
/ 19 сентября 2011

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

Использование bcrypt *Вместо 1004 *, встроенного в PHP, с поддержкой всех платформ, начиная с 5.3.0.Если вы используете более старую версию PHP, вы можете настроить bcrypt с помощью Suhosin patch .

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

Если вы хотите выйти за рамки этого, вы также можете проверить scrypt .

1 голос
/ 19 сентября 2011

На этом сайте программистов-энтузиастов ХАРАКТЕРНО проблема преувеличена.С точки зрения хеширования паролей достаточно любого алгоритма.Особенно, когда эта проблема по сравнению с другими частями обычного приложения PHP.Использование некоторого надежного хэша на обычном сайте PHP похоже на использование безопасного замка на бумажной двери соломенной хижины.

Если вы действительно хотите защитить пароли пользователей от кражи с помощью какой-либо уязвимости на вашем сайте (хотя такаяуязвимость, о которой вы должны быть более озабочены), а затем брутфорс и последующее использование против этих пользователей на других сайтах, тогда вам действительно нужно заботиться о надежности пароля и о соли, а не о самом алгоритме хеширования. Нет Техника хеширования защитит глупый проход как "1234" или "Джо".

Итак, md5 + strong password + average salt лучше usual password + super-extra-cool_hash и вполне достаточно.

1 голос
/ 19 сентября 2011

SHA-256 более чем достаточно для хэшей паролей, просто убедитесь, что для каждого пользователя используется различная соль edit .Соль может быть идентификатором пользователя, отметкой времени «создан на», GUID, привязанным к этому пользователю, и т. Д. Вы должны добавить соль к паролю в виде простого текста перед хэшированием.

Применение некоторых«наилучшая практика» такого рода паролей поможет избежать любых атак методом перебора.Не разрешайте пользователям использовать слабые пароли (менее N символов, содержит символы только из 1 набора символов и т. Д.).

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