Хочу использовать функцию password_hash. В документации написано:
Предостережение Настоятельно рекомендуется использовать автоматическую генерацию соли. Данная функция самостоятельно создаст хорошую соль, если вы не будете ей мешать подсовывая свою.
Как было замечено выше, опция salt была объявлена устаревшей в PHP 7.0 и будет вызывать соответствующее предупреждение. Поддержка ручного задания соли может быть удалена в более новых версиях.
Как это понимать? Если соль генерируется рандомно, то я получу разный хэш, и как мне потом сравнить с записанным хешем, если они будут отличаться?
Уважаемый @qwabra хотел сказать, что надо использовать password_verify для проверки соответствия хеша паролю, а не обычное "==".
Суть в том, что один и тот-же пароль, может генерировать с разной солью, причем одинаковой так-таковой не будет, так-как, используется привязка к времени.
function password($password, $hash = '') {
if ($hash) {
return password_verify($password, $hash);
} else if ($password) {
return password_hash($password, PASSWORD_BCRYPT, [
'cost' => 11
]);
}
}
$password = 'password';
$hashs = [];
for ($i = 0; $i < 3; ++$i) {
$hashs[] = password($password);
}
var_dump($hashs);
Вывод (всегда будет разным):
array(3) {
[0]=>
string(60) "$2y$11$U.pByOtimdolMwM0ltXYvO3lM/ottr0W5qGLcYHhGdL1ql1OndtEC"
[1]=>
string(60) "$2y$11$ZnmQz1hiZkvpdO5RXM5qCeY9N8LVgt5b6ONGBGfr4ZQxmd5WTdGDW"
[2]=>
string(60) "$2y$11$I5p4vJScXYgea1invjg3F..4zC.5xNSqbflNTS/RxfpyFJ2lUZ/8W"
}
Проверяем:
foreach($hashs as $hash) {
var_dump(password($password, $hash));
}
Вывод:
bool(true)
bool(true)
bool(true)
Это значит. что все 3 хеша равны password
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как проверить что пользователь зарегистрирован и вошел по Yii::$app->user->identity->id?
Есть такой скрипт который сам по себе прекрасно отрабатываетОднако через phinx он создает только новый тип инфоблока
Загружаю php-файл по ftp через phpstorm - затем открываю этот файл в панели управления ispmanager и вижу что загрузилась только половина файлаФайл размером...
Такая проблема, у меня есть переменная где хранится комментарий он берется с базыecho commit; Прикол в том что в привью самого редактора все прекрасно...