PHP 生成简短唯一ID开源库 Sqids
Sqids 是一个开源库,可以让您从数字中生成唯一的ID。它有利于缩短链接,快速生成URL安全的ID,并将其解码为数字,以更快地查找数据库。https://github.com/sqids/sqids-php
注:不适用于敏感数据。
生成的ID对于输入和字母表是唯一的。请记住,默认字母表包含大写和小写字母,因此默认ID是区分大小写的。
限制:
- Sqids无法编码负数。
- 最小字母表长度为3个字符。
- 字母表不能包含任何多字节字符。
- Sqids不能生成特定长度的ID,只能生成至少特定长度的ID。最小长度参数范围介于0和255之间。
- Sqids可以尝试重新生成ID,直到字母表长度减一。
# 安装
composer require sqids/sqids
# 示例
$sqids = new Sqids(); #指定最小长度 new Sqids(minLength: 10) 自定义字母表:new Sqids(alphabet: 'FxnXM1kBN6cuhsAvjW3Co7l2RePyY8DwaU04Tzt9fHQrqSVKdpimLGIJOgb5ZE') 防止特定单词出现在自动生成的ID中的任何位置:new Sqids(blocklist: ['86Rf07'])
$id = $sqids->encode([1, 2, 3]); // "86Rf07"
$numbers = $sqids->decode($id); // [1, 2, 3]