Laravel注冊(cè)密碼默認(rèn)加密方式是Hash::make(),如何得知
查看路由,看到注冊(cè)的 Action
是 App\Http\Controllers\Auth\AuthController@register
,找到AuthController這個(gè)控制器,發(fā)現(xiàn)找不到 register
這個(gè)方法,但是我們可以看到
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
這里用到了 trait
,找到 AuthenticatesAndRegistersUsers
,代碼如下
<?php
namespace Illuminate\Foundation\Auth;
trait AuthenticatesAndRegistersUsers
{
use AuthenticatesUsers, RegistersUsers {
AuthenticatesUsers::redirectPath insteadof RegistersUsers;
AuthenticatesUsers::getGuard insteadof RegistersUsers;
}
}
還是用到了trait,進(jìn)入 RegistersUsers
,終于找到了 register
方法
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
Auth::guard($this->getGuard())->login($this->create($request->all()));
return redirect($this->redirectPath());
}
這里有個(gè) create
方法,就是使用這個(gè)創(chuàng)建用戶,但這個(gè)controller的方法,不是model的方法,接著找到一開始的 AuthController
,找到 create
方法
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
這里密碼用了 bcrypt
方法加密了,bcrypt是 Hash::make()
方法的別名
所以,不難發(fā)現(xiàn),默認(rèn)注冊(cè)密碼加密使用的是 Hash::make
/ bcrypt