cbschuld/php-uuid-base58

生成符合RFC4122标准的v4 UUID,并以base-58进行编码。这对于创建仅占用22个字符存储空间的唯一ID非常有用。还提供base-58编码和解码功能。

1.0.1 2020-04-11 01:05 UTC

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 UUID
  • encode(string) - 将base-16字符串编码为base-58
  • decode(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

有关Base-58的更多信息.

联系

Twitter - @cbschuld

贡献

是的,谢谢!请更新文档和测试,并将您的名字添加到package.json文件中。