laravel更改默認的登陸密碼加密方式

laravel 默認用的登陸密碼加密方式是:
php

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

而我平時用的密碼加密方式是:laravel

$password = md5('password'.'salt'); //其中的salt是一個隨機串

那麼怎麼把默認的改爲本身想要的呢?數據庫

我谷歌了一下,還真讓我找到了。轉送:http://blueve.me/archives/898 app

爲了防止這個網站打不開,我本身再稍微整理了一下,以備後用:ide

  1. 首先,打開這個文件夾:/vender/laravel/framework/src/illuminate/Auth網站

   2. 打開EloquentUserProvider.php文件,將validateCredentials這個方法裏的內容改爲這樣的:this

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文件,在裏面添加這個方法:
spa

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

這樣,就能夠用手冊裏的「用戶驗證」和「判斷用戶是否已經驗證」等功能了,還有,我密碼和隨機串在數據庫中存的是password和salt字段。code

相關文章
相關標籤/搜索