@asferot

Как правильно сделать хэширование паролей?

Нашел множество решений, но не полных. Какой способ хэширования паролей лучше и как его правильно сделать?
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 2
@edvardpotter
Yii::$app->getSecurity()->generatePasswordHash($password);

Где $password - ваш пароль

Подробнее

#UPD

asferot, если вы делаете регистрацию то шаги должны быть примерно такие:
1. Пользователь на сайте вводит данные формы.
2. Создается модель пользователя(допустим у User, есть свойства email и password)
$model = new User();
$model->emal = 'user@email.ru';
$model->setPassword(123456);
$model->save();

В модель User, нужно добавить метод - setPassword:
public function setPassword($password)
{
    $this->password = Yii::$app->security->generatePasswordHash($password);
}

В этом методе вы передаете пароль, yii хеширует его, и сохраняет в свойство $password модели User

В итоге в бд у вас будет не исходный пароль храниться а хешированный.
Ответ написан
kotomyava
@kotomyava
Системный администратор
Если это yii1.х, то php.net/manual/ru/function.password-hash.php используя bcrypt.
Если это yii2.x, то уже есть встроенная обёртка для этого https://www.yiiframework.com/doc/api/2.0/yii-base-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы