登录安全加密方式

明文存储:
不安全;一旦拿到数据库明文密码;

对称加密:
一旦获取秘钥,可反向解密出明文密码;

单向Hash加密:
反向无法解密,但是如果有彩虹表,依然可以找到明文密码;

复杂Hash加密:
加盐,但是,盐一旦泄露碰撞解码+彩虹表,可解码;

Pbkdf2:
随机加盐,解码难度很大,几乎难有资源进行破解;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在Flarum中使用MD5加密方式进行用户密码的加密,可以按照以下步骤进行操作: 1. 修改配置文件 在Flarum的根目录下找到config.php文件,添加以下内容: ```php return [ // ... 'hashers' => [ // ... 'myhasher' => [ 'algo' => 'md5', 'prefix' => '', // 如果需要添加前缀,可以在这里设置 'suffix' => '', // 如果需要添加后缀,可以在这里设置 ], ], ]; ``` 2. 创建自定义加密方式 在Flarum的扩展目录下创建一个新文件夹,比如叫做myhasher,然后在该文件夹下创建一个新的类MyHasher.php,类的代码如下: ```php namespace MyHasher; use Illuminate\Contracts\Hashing\Hasher as HasherContract; class MyHasher implements HasherContract { public function make($value, array $options = []) { $prefix = $options['prefix'] ?? ''; $suffix = $options['suffix'] ?? ''; return md5($prefix . $value . $suffix); } public function check($value, $hashedValue, array $options = []) { $prefix = $options['prefix'] ?? ''; $suffix = $options['suffix'] ?? ''; return md5($prefix . $value . $suffix) === $hashedValue; } public function needsRehash($hashedValue, array $options = []) { return false; // 如果需要重新hash,返回true } } ``` 其中,make()方法用于加密密码,check()方法用于验证密码是否正确,needsRehash()方法用于判断是否需要重新hash。 3. 注册自定义加密方式 在Flarum的扩展目录下的extend.php文件中添加以下代码: ```php use Illuminate\Events\Dispatcher; use MyHasher\MyHasher; return function (Dispatcher $events) { $events->listen('Illuminate\Auth\Events\Attempting', function ($event) { $event->credentials['password'] = app(MyHasher::class)->make($event->credentials['password'], [ 'prefix' => 'your_prefix', // 自定义的前缀 'suffix' => 'your_suffix', // 自定义的后缀 ]); }); $events->listen('Illuminate\Auth\Events\PasswordReset', function ($event) { // 更多的事件监听可以在这里添加 }); }; $app->singleton(MyHasher::class, function () { return new MyHasher(); }); $app->register(MyHasher\MyHasherProvider::class); ``` 注册完成后,可以在Flarum的管理后台中进行测试。需要注意的是,MD5加密方式并不安全,建议使用更加安全加密方式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值