1. 程式人生 > >laravle5.4修改成MD5驗證加密方式

laravle5.4修改成MD5驗證加密方式

配置 turn trap temp clas reg 源碼 extends check

今天在做laravel項目的時候,需要做成md5加密的方式驗證,那如何在不修改已有的源碼去重構一下呢。

註:下面修改的代碼做法,會把整個框架的加密方式全部修改,請根據自己的項目需求而定。

如果只要修改登錄註冊看這篇文章《laravel5.4登錄註冊MD5加密驗證方法》

轉載請註明(B5教程網)原文鏈接:http://www.bcty365.com/content-153-5884-1.html

1. 在app/下創建一個MD5/文件夾。裏面創建一個MD5Hasher類(MD5Hasher.php):

<?php
namespace App\MD5;
use Illuminate\Contracts\Hashing\Hasher as HasherMD5;
//後添加MD5驗證
class MD5Hasher implements HasherMD5
{
public function make($value, array $options = [])
{
return md5($value);//根據後面加密規則來設置
}
public function check($value, $hashedValue, array $options = [])
{
if(emptyempty($hashedValue)){
return true;
}
return $this->make($value) === $hashedValue;
}
public function needsRehash($hashedValue, array $options = [])
{
return false;
}
}
2. 命令行:

php artisan make:provider MD5HashServiceProvider

在這個文件的register()方法寫上:
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\MD5\MD5Hasher;
class MD5HashServiceProvider extends ServiceProvider
{
//後添加MD5驗證
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}

/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(‘hash‘, function () {
return new MD5Hasher;
});

}
}
3.修改配置

config/app.php,註釋下面這一行:

Illuminate\Hashing\HashServiceProvider::class,

加上你的:

App\Providers\MD5HashServiceProvider::class, //後添加MD5驗證

4.測試如下:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Auth;
class CeshiController extends Controller
{

public function login(){
Auth::attempt([‘users_mobile‘=>‘15250735031‘,‘password‘=>‘‘]);
dd(Auth::user());
}
}

laravle5.4修改成MD5驗證加密方式