laravel更改默认的登录密码加密方式

laravel更改默认的登录密码加密方式 

 

laravel 默认用的登录密码加密方式是:

$password = Hash::make('password');

 

而我平时用的密码加密方式是:

$password = md5('password'.'salt'); //其中的salt是一个随机串

 

那么怎么把默认的改成自己想要的呢?

我谷歌了一下,还真让我找到了。转送:http://blueve.me/archives/898

为了防止这个网站打不开,我自己再稍微整理了一下,以备后用:

  1. 首先,打开这个文件夹:/vender/laravel/framework/src/illuminate/Auth

   2. 打开EloquentUserProvider.php文件,将validateCredentials这个方法里的内容改成这样的:

public function validateCredentials(UserInterface $user, array $credentials)
{
	$plain = $credentials['password'];
	$authPassword = $user->getAuthPassword();
	$authSalt = $user->getAuthSalt();
	return $authPassword === md5($plain.$authSalt);
}

 

3.同一个目录下,打开UserInterface.php文件,在后面添加这一句:

public function getAuthSalt();

 

4.打开:/app/models/User.php文件,在里面添加这个方法:

public function getAuthSalt()
{
   return $this->salt;
}

 

这样,就可以用手册里的“用户验证”和“判断用户是否已经验证”等功能了,还有,我密码和随机串在数据库中存的是password和salt字段。

posted @ 2019-03-05 11:37  agang_19  阅读(5450)  评论(0编辑  收藏  举报