Я использую Laravel 5.7.
Я пытаюсь обновить один из своих пользовательских паролей
Я запустил этот php artisan tinker
потом
>>> bcrypt(12345);
=> "$2y$10$5woTm5/1w.euUliNCujmMu.oYiC.U8YnRpBHVQN/CxyKXAYB.pGiS"
а также пробовал
>>> Hash::make('12345');
=> "$2y$10$vjCcADglqpHiLI9tTVlJ2OoaaoQq/qqntRaIaEclTh1exq.vdZcxK"
Я скопировал хеш-обновление в свою базу данных
Я попытался войти в систему с 12345. Я не могу авторизоваться.
Что я забыл сделать?
Я создал пользователей с помощью bcrypt () вот так: i.imgur.com/5VBvBuf.jpg
Да, но Laravel не может использовать bcrypt для проверки аутентификации.
Я попробовал ваше предложение, результат все тот же, проверьте мои шаги: i.imgur.com/tVUjqaj.png
Как вы аутентифицируете пользователя?
@FelippeDuarte, я использовал функцию Laravel по умолчанию: i.imgur.com/77S5c4b.png
remember_token что-нибудь значит?
попробуйте сначала проверить вручную на tinker: auth()->validate([ 'username' => 'Admin', 'password' => '12345']) или перейти на email, если вы используете электронную почту в качестве обработчика пользователя
Если посмотреть на config/auth.php, конфиги правильные? Он указывает на ту же таблицу, которую вы обновляете вручную?
@FelippeDuarte Вот как это выглядит: i.imgur.com/VHHjZpf.png
почему вы не проверяете с Auth::attempt()
Убедитесь, что для driver в ../config/hashing.php установлено значение bcrypt.






Попробуй это :
$password = 'something';
$user = User::findOrFail($userId);
$user->fill(['password' => Hash::make($password)])->save();
Не забудьте использовать App \ User;
Вы можете добиться этого несколькими способами. Поделюсь 2 способами.
Допустим, вы хотите обновить пароль до 12345.
Если у вас есть доступ к локальной настройке
В корне вашего проекта введите php artisan tinker
Когда вы находитесь в режиме оболочки, наберите bcrypt('12345'), вы должны получить хэш-пароль.
Psy Shell v0.9.9 (PHP 7.1.4 — cli) by Justin Hileman
>>> bcrypt('12345')
=> "$2y$10$9ruOL7x2T2Utejl96Mp2MOh2xQB/I2R/R0SMp3G55LokeoWGjpuR2"
>>>`
Если у вас нет доступа к локальной настройке, вы можете сгенерировать хеш через этот сайт.
http://www.passwordtool.hu/php5-password-hash-generator
Когда у вас будет новый хеш, скопируйте его.
Попробуй это:
$user = App\User::where('email', '[email protected]')->first();
$user->password = Hash::make('password');
$user->save();
Это создаст хэш-пароль и сохранит его для пользователя, при условии, что вы сможете получить пользователя, используя адрес электронной почты.
Вы также можете обновить пользователя, используя идентификатор или любой другой уникальный идентификатор, который у вас есть для этого использования. Например, если у вас есть идентификатор, попробуйте следующее:
$user = App\User::where('id', 101)->first();
$user->password = Hash::make('password');
$user->save();
Как упоминалось в вашем последнем вопросе, используйте
Hash::make('yourpasswordhere');. Это будет использовать функцию-оболочку Laravel для создания правильно хешированного пароля.