2015-04-01 2 views
0

Я разрабатываю приложение в PHP Laravel. Он использует шифрование bcrypt для хранения паролей. Я хочу сохранить историю хэшей всякий раз, когда пользователь меняет пароль. Делая это, я хочу, чтобы пользователь не вводил предыдущие пароли в некоторых сценариях. Безопасно ли хранить историю хэшей?История паролей, чтобы предотвратить повторный ввод одинаковых паролей

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

ответ

1

Да, это полностью сэкономить. Вы можете сравнить новый пароль со старыми хэшами с помощью Hash::check(). Например, вот так ($hashes - массив старых хэшей)

$newPassword = 'secret'; 
foreach($hashes as $hash){ 
    if(Hash::check($newPassword, $hash)){ 
     exit('Sorry can\'t use the same password twice'); 
    } 
} 
+0

Спасибо ... :) –

Смежные вопросы