ofilin/base64uid

用于生成UID的类

0.2 2019-06-27 12:20 UTC

This package is auto-updated.

Last update: 2024-09-28 00:26:02 UTC


README

生成类似YouTube的UID

简介

该库生成一个由64个字符组成,长度为10个字符的唯一标识符(你可以更改标识符的长度)。这为我们提供了大量的组合。

64^10 = 2^60 = 1 152 921 504 606 846 976 (combinations)

为了表示这个数字,想象一下,为了获取所有可能的长度为10个字符的标识符值,并且每微秒生成一个ID,需要 36 559 年。

UUID 采用同样的原理,但其主要缺点是太长。不方便用作公共标识符,例如在URL中使用。

由于 Base64 UID 使用了64个字符而不是36个,因此标识符明显更短。此外,您还有机会管理长标识符和可能值的数量。这将优化标识符的长度以符合您的业务需求。

安装

使用 Composer 非常简单,运行

composer require ofilin/base64uid

使用方法

use ofilin\base64uid\Base64UID;

$uid = Base64UID::generate(); // iKtwBpOH2E

长度为6个字符

// 64^6 = 68 719 476 736 (combinations)
$uid = Base64UID::generate(6); // nWzfgA

浮点长度标识符将提供更多唯一的标识符。

// 64^10 + 64^9 + 64^8 = 1 171 217 378 093 039 616 (combinations)
$uid = Base64UID::generate(random_int(8, 10));

许可

此包位于 MIT 许可证 下。有关完整的许可证,请参阅文件:LICENSE