от
Какой самый быстрый, но безопасный способ шифрования паролей в (на PHP предпочтительно), и для какой бы метод вы выбираете, он портативный? Другими словами, если позже я перенести мой сайт на другой сервер мои пароли продолжают работать? Этот способ я использую сейчас, как мне сказали, находится в зависимости от точной версии библиотек, установленных на сервере.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

8 Ответы

0 голосов
от
Какой самый быстрый, но безопасный способ шифрования паролей в (на PHP предпочтительно), и для какой бы метод вы выбираете, он портативный? Другими словами, если позже я перенести мой сайт на другой сервер мои пароли продолжают работать? Этот способ я использую сейчас, как мне сказали, находится в зависимости от точной версии библиотек, установленных на сервере.
0 голосов
от
Если вы выбираете метод шифрования для входа в систему, то скорость тебе не друг, Джефф был к-и-басаю с Томаса Птачека о паролях и пришли к выводу, что вы должны использовать самый медленный, самый безопасный метод шифрования вы можете себе позволить. Из блога Томаса Птачека по: Скорость-это именно то, что вы не хотите, чтобы хэш-функция пароля. Современные схемы пароль напали с добавочной взломщики паролей. Добавочные сухари не предподсчитать все возможные взломанных паролей. Они считают каждый хэш пароля в отдельности, и они кормят их словаря через хэш-функция пароль таким же образом, ваш PHP-страницы входа в систему будет. Радужный стол сухари, как образ использовать пространство для атаки пароли; добавочные сухари, как Джон Потрошитель, трещины, и LC5 работы со временем: статистика и вычисления. Атаку пароля игра засчитывается время, требуемое для взлома пароля х. с радужными таблицами, что время зависит от того, насколько большой ваш стол должен быть и как быстро вы можете искать его. С добавочной сухари, время зависит от того, как быстро вы можете сделать пароль хеш-функции запуска. Чем лучше вы можете оптимизировать свой хэш-функцию пароля, тем быстрее ваш хэш-функцию пароля, тем слабее ваша схема. MD5 и SHA1, даже обычных блочных шифров, как des, предназначены для быстрого. Алгоритм MD5, SHA1 и де-слабые хэши паролей. На современных процессорах, строительных блоков шифрования, как des и MD5 можно bitsliced, векторизация и распараллеливание, чтобы сделать поиск пароль молниеносно. Игра-за реализации ПЛИС стоить всего несколько сотен долларов.
0 голосов
от
Я с Питером. Разработчик, похоже, не понимают пароли. Все мы (и я виновен в этом тоже) MD5 или SHA1, так как они быстро. Думать об этом (потому что кто-то недавно указал мне на это), что не имеет никакого смысла. Мы должны выбрать алгоритм хэширования, который тупо медленно. Я имею в виду, по масштабу вещи, занятой сайт будет хэш-пароли какие? каждые 1/2 минуты? Кто заботится, если его брать 0,8 секунды против 0,03 секунды сервер мудрый? Но это лишняя медленность огромна, чтобы предотвратить все типы грубой forcish атак. От моего чтения, bcrypt является специально разработанный для безопасного хэширования паролей. Он основан на Blowfish и много осуществления. Для PHP, проверьте PHPPass http://www.openwall.com/phpass/ Для тех, кто делает .Чистая, проверить BCrypt.NET http://derekslager.com/blog/posts/2007/10/bcrypt-dotnet-strong-password-hashing-for-dotnet-and-mono.ashx
0 голосов
от
Следует отметить, что вы не хотите, чтобы зашифровать пароль, вы хотите, чтобы обсудить это. Зашифрованные пароли могут быть расшифрованы, позволить кому-то увидеть пароль. Хеширование-это способ работы настолько оригинальны пароль пользователя (криптографически) нет. А какой алгоритм вы должны выбрать - использовать принятый в настоящее время стандарт один: Ша-256 И когда вы хэш пароля пользователя, убедитесь, что хэш в какой-то другой мусор с него. например: пароль:
password1
соль:
PasswordSaltDesignedForThisQuestion
Добавьте соль к паролю пользователя:
String s = HashStringSHA256("password1PasswordSaltDesignedForThisQuestion");
0 голосов
от
Что бы вы ни делали, не написать свой собственный алгоритм шифрования. Это почти гарантия (если ты криптограф), что будет недостаток в алгоритм, который будет сделать легко взломать.
0 голосов
от
Рассмотреть возможность использования
bcrypt
он используется во многих современных платформ, таких как фреймворк Laravel.
0 голосов
от
Я не обязательно ищу быстрый, но хороший баланс, некоторые сервера, на котором этот код разрабатывается для достаточно медленный, скрипт, что хэши и магазины пароля занимает 5-6 секунд, чтобы выполнить, и я сузили его до хеширование (если я комментировать превращавшим его выполнения в течение 1-2 секунд). Она не должна быть самой безопасной, я не разыгрываешь для банка (прямо сейчас) но я, конечно, не будет хранить пароли в виде обычного текста.
0 голосов
от
password_hash ( string $password , int $algo [, array $options ] )
. (В PHP 5 >= 5.5.0, В PHP 7) функция password_hash() создает новый хэш пароля с помощью сильной односторонний алгоритм хеширования. функция password_hash() совместим с Crypt(). Поэтому, хэши паролей, созданных в Crypt() может использоваться функция password_hash().
...