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

本文介绍如何在Laravel中使用Hashid库整合Base62, Hashids及Optimus等算法,通过简单的API接口实现数据索引加密,如用户ID、商品ID等,以增强数据安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值