Laravel框架下使用Hashid对id进行加解密

来源:互联网 发布:阿里云 和 aws 对比 编辑:程序博客网 时间:2024/06/06 03:30
  • laravel Hashid 整合了 Base62, Hashids, Optimus 等高性能编码算法,并提供了统一的、简单易用的调用接口

  • 应用场景示例: 不希望对外暴露有规则的数据索引,比如用户 ID,商品ID,订单编号…防止被第三方直接遍历抓取资源

  • 版本最低要求:php: >=5.4.0

  • 在laravel中安装hashids

composer require torann/hashids
  • 在config/app.php中的providers数组中添加
'providers' => [    Torann\Hashids\HashidsServiceProvider::class,]
  • 在config下生成hashids.php配置文件
php artisan vendor:publish --provider="Torann\Hashids\HashidsServiceProvider"
  • 修改hashids.php要加密的长度
'length' => 8,
  • Hashid使用加密
dd(Hashids::encode(111));结果:LDdwjwb1
  • Hashid使用解密
dd(Hashids::decode('LDdwjwb1');结果:array:1 [▼       0 => 111     ]
  • 由于限制如果版本高的话可以引用这个
https://github.com/vinkla/laravel-hashids
阅读全文
0 0