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