Я использую crypt() для хэш-паролей в PHP и пытаюсь разработать самый безопасный способ проверки равенства получающегося хэша при выполнении проверок пароля. Я вижу три варианта: Вариант 1 – Double Equals function checkPassword($hash, $password) { return crypt($password, $hash) == $hash; } Вариант 2 – Triple Equals function checkPassword($hash, $password) { return crypt($password, $hash) === $hash; } […]
В чем разница между PASSWORD_DEFAULT и PASSWORD_BCRYPT? Используют ли они оба алгоритма шифрования Blowfish? Какова стоимость в алгоритме? Как настроить пароль_hash в PHP, производят 255-хэш-длину вместо 60?
Я использую codeigniter–bcrypt из https://github.com/dwightwatson/codeigniter-bcrypt с помощью codeigniter. У меня есть форма, которая отправляет данные на мой главный контроллер. Затем я проверяю через модель БД для записи. Я использовал $hash = $this->bcrypt->hash_password($password); Хеш пароль при создании учетной записи. И это работает. Пароль правильно хэшируется в БД. Теперь, однако, я не уверен, где использовать обратный, чтобы […]
В форме сброса пароля пользователь поставляет current_password , password и password-confirmation . Есть ли способ указать в правилах проверки, что current_password (это значение hash) должен соответствовать значению базы данных? В настоящее время у меня есть: $rules = array( 'current_password' => 'required', 'password' => 'required|confirmed|min:22' ); Спасибо. ОБНОВИТЬ Благодаря @ChrisForrence и @Ben, я придумал следующее, которое […]
Хорошо, я, наконец, понимаю bcrypt, как это работает и как его хранить в БД, поэтому я почти готов к работе. Теперь проблема заключается в выборе, какую реализацию bcrypt использовать с PHP 5.3 . Я схожу с ума, глядя на все различные решения, и я не уверен, какой из них наиболее рекомендуется и безопаснее в использовании, […]
У меня есть следующий фрагмент кода: // bcrypt hash of 'password' $hash = '$2y$10$4u0cQ.WEnwHDo.C5Nl1vm.shKA0beQ32wqzphSfzklAq9OcDM2nLu'; if(password_verify('password', $hash)) { print_r('woohoo!'); } else { print_r('fubar'); } На одном сервере он работает нормально (woohoo!), А на другом он не работает. Я просто поместил его на codepad.org, и он тоже терпит неудачу. Проблема заключается в том, что хэш, вычисленный с […]
Это моя текущая процедура хэширования пароля в проектах PHP / SQL … Возьмите 512 бит одной доли пользователя из / dev / urandom, сохраненных в записи пользователя пользователя в дополнение к финальному хэшу Возьмите 512 бит «перец» из / dev / urandom, который хранится в файловой системе. Это постоянное для каждого приложения и одно и […]
Согласно документу PHP, соль bcrypt состоит из «$ 2a $», двухзначный параметр стоимости, «$» и 22 цифры из алфавита «./0-9A-Za-z» Итак, если я использую функцию crypt () для хеширования своих паролей, итоговый вывод включает в себя первые 7 символов ($ 2a $ 10 $, если 10 – параметр стоимости) как часть соли – и, согласно […]
Я знаю, что PHP 5.5 находится в альфа, но этот класс, который я делаю, просто делается заранее, чтобы использовать его хэширование с помощью функции function_exists (). Я проверил документацию password_hash . Третий аргумент – $ options, который в настоящее время поддерживает два варианта: «соль» и «стоимость». В нем говорится следующее: стоимость, которая обозначает алгоритмическую стоимость, […]
Мой php-код генерирует хэш, используя password_hash который я храню в базе данных. Ниже приведен код PHP: $hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost)); Я хотел бы проверить / проверить пароль на этот хэш в nodejs. Я видел множество модулей узлов (bcrypt, phpass, node-bcrypt), но все они дают мне ложные. Ниже приведен пример хэша, сгенерированного в […]