php把登陆账号输出成md5,Laravel5.5 前台用户登录密码改为 md5

针对前台注册登录的MD5加密方式,不影响其他后台等hash加密方式。

具体步骤如下

1.在app目录下,新建一个文件Libraries,在Libraries目录下新建一个MD5.php文件,里面代码如下:

namespace App\Libraries;

use Illuminate\Contracts\Hashing\Hasher;

class MD5 implements Hasher

{

/**

* Hash the given value.

*

* @param string $value

*

* @return array $options

* @return string

*/

public function make($value, array $options = [])

{

return md5($value);

}

/**

* Check the given plain value against a hash.

*

* @param string $value

* @param string $hashedValue

* @param array $options

*

* @return bool

*/

public function check($value, $hashedValue, array $options = [])

{

if(empty($hashedValue)){

return true;

}

return $this->make($value) === $hashedValue;

}

/**

* Check if the given hash has been hashed using the given options.

*

* @param string $hashedValue

* @param array $options

*

* @return bool

*/

public function needsRehash($hashedValue, array $options = [])

{

return false;

}

}

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

namespace App\Providers;

use Illuminate\Auth\EloquentUserProvider;

class MD5ServiceProvider extends EloquentUserProvider

{

//继承EloquentUserProvider类,调用父类的构造函数

public function __construct($hasher, $model)

{

parent::__construct($hasher, $model);

}

/**

* Bootstrap the application services.

*

* @return void

*/

public function boot()

{

//

}

/**

* Register the application services.

*

* @return void

*/

public function register()

{

//

}

}

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

Auth::provider('MD5', function ($app) {

$model = config('auth.providers.users.model');

return new MD5ServiceProvider(new MD5, $model);

});

头部需要引用命名

use App\Libraries\MD5;

use Auth;

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

'providers' => [

'users' => [

'driver' => 'MD5',//'driver' => 'eloquent',//eloquent默认加密码方式

'model' => App\User::class,

],

'admins' => [

'driver' => 'eloquent',

'model' => App\Admin::class,

],

// 'users' => [

// 'driver' => 'database',

// 'table' => 'users',

// ],

],

5.修改注册create

修改app/Http/Controllers/Auth/RegisterController.php里的create,修改代码如下

protected function create(array $data)

{

return User::create([

'name' => $data['name'],

'email' => $data['email'],

'password' => md5($data['password']),

]);

}

到此就修改完成了,这样注册登录都可以使用md5去加密验证。

转载,做了些优化处理增加了注册时加入MD5

本作品采用《CC 协议》,转载必须注明作者和本文链接

认真学习,努力工作。拼!命!玩!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值