Преобразование обычного пароля в базе данных в зашифрованный пароль, используя laravel? - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь преобразовать обычный текстовый пароль в базе данных в зашифрованный пароль, но не сохраняет в базе данных зашифрованный пароль?

Как я могу это сделать?

см. Эту таблицу пользователей https://ibb.co/7SKTbqW

контроллер

public function registeraction(Request $request)
{
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required',
        'password' => 'required|alphaNum|min:6',
    ]);

    $name = $request->get('name');
    $email = $request->get('email');
    $password = bcrypt($request->get('password')); 

    $user = User::create(request(['name', 'email','password']));      
    $user->setRememberToken(Str::random(60));
    $user->save();

    if ($user) {
        // Authentication passed...
        return redirect()->to('/');
    }
}

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

В вашем коде вы извлекаете значение password из $request и изменяете его.

$password = bcrypt($request->get('password')); 

Однако, когда вы создаете пользователя, вы получаете исходный неизмененный password значение из $request снова.

$user = User::create(request(['name', 'email','password']));

Вместо этого эта строка должна выглядеть следующим образом:

$user = User::create(compact('name', 'email','password'));
1 голос
/ 11 февраля 2020

Попробуйте Hash:make

use Illuminate\Support\Facades\Hash;

$password = Hash::make($request->get('password'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...