PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > Laravel教程 > 正文

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

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:今天在做laravel项目的时候,需要做成md5加密的方式验证,那如何在不修改已有的源码去重构一下呢。
    今天在做laravel项目的时候,需要做成md5加密的方式验证,那如何在不修改已有的源码去重构一下呢。

    注:下面修改的代码做法,会把整个框架的加密方式全部修改,请根据自己的项目需求而定。

    1. 在app/下创建一个MD5/文件夹。里面创建一个MD5Hasher类(MD5Hasher.php):

    1. <?php 
    2. namespace App\MD5; 
    3. use  Illuminate\Contracts\Hashing\Hasher as HasherMD5; 
    4. //后添加MD5验证 
    5. class MD5Hasher implements HasherMD5 
    6.     public function make($valuearray $options = []) 
    7.     { 
    8.         return md5($value);//根据后面加密规则来设置 
    9.     } 
    10.     public function check($value$hashedValuearray $options = []) 
    11.     { 
    12.         if(emptyempty($hashedValue)){ 
    13.             return true; 
    14.         } 
    15.         return $this->make($value) === $hashedValue
    16.     } 
    17.     public function needsRehash($hashedValuearray $options = []) 
    18.     { 
    19.         return false; 
    20.     } 

    2. 命令行:

    php artisan make:provider MD5HashServiceProvider

    在这个文件的register()方法写上:

    1. <?php 
    2.  
    3. namespace App\Providers; 
    4.  
    5. use Illuminate\Support\ServiceProvider; 
    6. use App\MD5\MD5Hasher; 
    7. class MD5HashServiceProvider extends ServiceProvider 
    8.     //后添加MD5验证 
    9.     /** 
    10.      * Bootstrap the application services. 
    11.      * 
    12.      * @return void 
    13.      */ 
    14.     public function boot() 
    15.     { 
    16.         // 
    17.     } 
    18.  
    19.     /** 
    20.      * Register the application services. 
    21.      * 
    22.      * @return void 
    23.      */ 
    24.     public function register() 
    25.     { 
    26.         $this->app->singleton('hash'function () { 
    27.             return new MD5Hasher; 
    28.         }); 
    29.  
    30.     } 

    3.修改配置

    config/app.php,注释下面这一行:

    Illuminate\Hashing\HashServiceProvider::class,

    加上你的:

    App\Providers\MD5HashServiceProvider::class, //后添加MD5验证

    4.测试如下:
     

    1. <?php 
    2.  
    3. namespace App\Http\Controllers; 
    4.  
    5. use Illuminate\Http\Request; 
    6. use Auth; 
    7. class CeshiController extends Controller 
    8.  
    9.     public function login(){ 
    10.         Auth::attempt(['users_mobile'=>'15250735031','password'=>'']); 
    11.         dd(Auth::user()); 
    12.     } 

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-153-5884-1.html
    相关热词搜索: