【问题标题】:Laravel hash password in controller控制器中的 Laravel 哈希密码
【发布时间】:2018-07-07 22:54:40
【问题描述】:

我想在 Controller 中做一个密码哈希,以便将信息存储到数据库中。

我的存储功能是;

 public function store(Request $request)
{
    $validator = \Validator::make($request->all(), ['fullname' => 'required',
        'email'  => 'required|email|max:255|unique:users',
        'username'  => 'required|max:255|unique:users',
        'password'  => 'required',]);
    if ($validator->fails()) {

       return response()->json([
        '1' => 'Your information not stored!',
      ]);       
    }
    else {
    $newuser = new User;
    $newuser -> fullname = request('fullname');
    $newuser -> email = request('email');
    $newuser -> password = request('password');
    $newuser -> username = request('username');
    $newuser -> status = 1;
    $newuser -> role_id = 1;
    $newuser -> save();
    return response()->json([
        '2' => 'Your information stored successfuly!',
    ]);
    }

这可以正常工作。但是,我想对密码进行哈希处理。

https://laravel.com/docs/5.0/hashing
https://laracasts.com/discuss/channels/requests/how-to-hash-user-input-password-when-using-form-validation-in-form-request-laravel-5


 public function setPasswordAttribute($value)
{
    $this->attributes['password'] = bcrypt($value);
}

这不起作用。大家有什么建议吗?

【问题讨论】:

  • dd($newuser ) 保存前,这里提供代码
  • 向我们展示您的完整模型课程
  • $newuser->password = bcrypt(request('password')); 是您需要做的所有事情。
  • 我猜他正在尝试使用 mutator
  • $newuser->password = bcrypt($request('password'));

标签: php laravel hash


【解决方案1】:

只是改变

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

【讨论】:

  • 无法访问来自模型的请求
  • @Mahdi 当然可以,request() 助手和 Request 门面可以在请求对象的生命周期中的任何位置访问它。
【解决方案2】:

改变

$newuser->password = request('password');

收件人:

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

docs

【讨论】:

  • Illuminate\Database\QueryException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'password'在第 1 行(SQL:插入usersfullnameemailpasswordusernamestatusrole_idupdated_atcreated_at)值(sediq2222@, gmail.com, $2y$10$HvqJ48R7eDlcq/T.kM2gqOYnPVzYqkLd5njo8JmLYt9DI9AGUTS9K, karimiauifiu12a222, 1, 1, 2018-01-30 04:35:10, 2018-01-30 04:35:10)) 在文件 C:\xp htdocs\Vers_La_Lune\vendor\laravel\framework\src\Illuminate\Database\Connection.php 在第 664 行堆栈跟踪:
猜你喜欢
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-18
相关资源
最近更新 更多