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

    laravel5.4 登录注册MD5加密方式教程

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:上次写过一篇文章《laravle5.4修改成MD5验证加密方式》,这样做有一个缺点,是把整个框架的加密方式都修改了,今天分享的是针对注册登录的M...
    上次写过一篇文章《laravle5.4修改成MD5验证加密方式》,这样做有一个缺点,是把整个框架的加密方式都修改了,今天分享的是针对注册登录的MD5加密方式,不影响其他hash加密。
     
    具体步骤如下
     
    1.在app目录下,新建一个文件Libraries,在Libraries目录下新建一个MD5.php文件,里面代码如下:

    1. <?php 
    2.  
    3. namespace App\Libraries; 
    4.  
    5. use Illuminate\Contracts\Hashing\Hasher; 
    6.  
    7. class MD5 implements Hasher 
    8.     /** 
    9.      * Hash the given value. 
    10.      * 
    11.      * @param string $value 
    12.      * 
    13.      * @return array  $options 
    14.      * @return string 
    15.      */ 
    16.     public function make($valuearray $options = []) 
    17.     { 
    18.         return md5($value); 
    19.     } 
    20.  
    21.     /** 
    22.      * Check the given plain value against a hash. 
    23.      * 
    24.      * @param string $value 
    25.      * @param string $hashedValue 
    26.      * @param array $options 
    27.      * 
    28.      * @return bool 
    29.      */ 
    30.     public function check($value$hashedValuearray $options = []) 
    31.     { 
    32.         if(empty($hashedValue)){ 
    33.             return true; 
    34.         } 
    35.         return $this->make($value) === $hashedValue
    36.     } 
    37.  
    38.     /** 
    39.      * Check if the given hash has been hashed using the given options. 
    40.      * 
    41.      * @param string $hashedValue 
    42.      * @param array $options 
    43.      * 
    44.      * @return bool 
    45.      */ 
    46.     public function needsRehash($hashedValuearray $options = []) 
    47.     { 
    48.         return false; 
    49.     } 

    2.在Providers文件下面新建一个文件 MD5ServiceProvider.php,里面代码如下:

    1. <?php 
    2.  
    3. namespace App\Providers; 
    4.  
    5. use Illuminate\Auth\EloquentUserProvider; 
    6. class MD5ServiceProvider extends EloquentUserProvider 
    7.  
    8.     //继承EloquentUserProvider类,调用父类的构造函数 
    9.     public function __construct($hasher$model
    10.     { 
    11.         parent::__construct($hasher$model); 
    12.     } 
    13.  
    14.     /** 
    15.      * Bootstrap the application services. 
    16.      * 
    17.      * @return void 
    18.      */ 
    19.     public function boot() 
    20.     { 
    21.         // 
    22.     } 
    23.  
    24.     /** 
    25.      * Register the application services. 
    26.      * 
    27.      * @return void 
    28.      */ 
    29.     public function register() 
    30.     { 
    31.         // 
    32.     } 

    3.在AuthServiceProvider.php文件里boot方法里添加如下代码

    1. Auth::provider('MD5'function ($app) { 
    2.             $model = config('auth.providers.users.model'); 
    3.             return new MD5ServiceProvider(new MD5, $model); 
    4.         }); 
    1. 头部需要引用命名 
    2. use  App\Libraries\MD5; 
    3. use Auth 

    4.修改config/auth.php里的providers,修改代码如下

    1. 'providers' => [ 
    2.         //会员MD5登录加密 
    3.         'users' => [ 
    4.             'driver' => 'MD5'
    5.             'model' => App\User::class
    6.         ], 
    7. //        'users' => [ 
    8. //            'driver' => 'eloquent', 
    9. //            'model' => App\User::class, 
    10. //        ], 
    11.  
    12.         // 'users' => [ 
    13.         //     'driver' => 'database', 
    14.         //     'table' => 'users', 
    15.         // ], 
    16.     ], 

    到此就修改完成了,这样注册登录都可以使用md5去加密验证,如有不懂可以联系站长Q Q:634381967


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