cbschuld / php-uuid-base58
生成符合RFC4122标准的v4 UUID,并以base-58进行编码。这对于创建仅占用22个字符存储空间的唯一ID非常有用。还提供base-58编码和解码功能。
1.0.1
2020-04-11 01:05 UTC
Requires
- ramsey/uuid: ^4.0
Requires (Dev)
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2024-09-11 14:36:37 UTC
README
生成符合RFC4122标准的v4 UUID,并以base-58进行编码。这对于创建仅占用22个字符存储空间的唯一ID非常有用。还提供base-58编码和解码功能。
安装
composer require cbschuld/php-uuid-base58
使用方法
use cbschuld\UuidBase58; $id = UuidBase58::id();
API
UuidBase58类提供了三个静态方法
id
- 创建以base-58编码的RFC4122 v4 UUIDencode(string)
- 将base-16字符串编码为base-58decode(string)
- 将字符串从base-58解码为base-16
测试
npm run test
性能影响
将v4 UUID转换为base58会有额外的性能损耗。在测试中,我发现转换到base58的额外开销增加了31%。在100k计算批次中,我发现v4 uuid的计算时间为1.606s/100k,而uuid58的计算时间为2.319s/100k。因此,69%的运行时间被用于计算v4 uuid。可以进一步工作,将uuid计算内部化并尝试提高性能。
Base58字母表
此解决方案使用Bitcoin / IPFS哈希字母表:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
联系
Twitter - @cbschuld
贡献
是的,谢谢!请更新文档和测试,并将您的名字添加到package.json文件中。