laravle5.4修改为MD5验证加密方式

laravle5.4修改成MD5验证加密方式

今天在做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()); 

}