ULID 生成器

Blog

ULID 生成器

BlogCheatsheets
Loading...
Loading ULID generator...

描述

生成ULID(可按字典序排序的全局唯一标识符)。单调递增、可按时间排序、URL安全,是UUID的理想替代。

关于 ULID 生成器

ULID 是一种 128 位标识符,可按字典序排序且按时间排序:其前 48 位编码毫秒级 Unix 时间戳,其余 80 位为随机值。它使用 Crockford 的 base32 编码为 26 个字符,对 URL 安全且避免使用易混淆的字符。当您希望 ID 自然按创建时间排序时,ULID 是 UUID 的有用替代方案,本生成器在您的浏览器中本地构建它们。

使用方法

  1. 打开工具,根据当前时间戳生成一个 ULID。
  2. 可选择一次生成多少个 ULID。
  3. 点击「生成」;新的 ULID 由当前时间加上随机位创建而成。
  4. 复制生成的 26 个字符标识符,用于您的应用程序。

示例

示例输入输出
ULID 的形态Generate one ULIDA 26-character Crockford base32 string, e.g. 01ARZ3NDEKTSV4RRFFQ69G5FAV

常见问题

ULID 与 UUID 有何不同?

两者都是 128 位标识符,但 ULID 在其前 48 位中嵌入了毫秒级时间戳,并采用 Crockford base32 编码(26 个字符),使其可按创建时间进行字典序排序。UUID(尤其是 v4)的标准文本形式无法按时间排序。

为什么 ULID 可以排序?

时间戳占据最高有效位,因此将 ULID 作为普通字符串排序时,会按其生成时间排序。这对数据库键和日志非常方便。

ULID 对 URL 安全吗?

是的。Crockford base32 仅使用数字和大写字母的一个子集,排除了 I、L、O、U 等字符以避免混淆,因此 ULID 可以无需转义地放入 URL 和文件名中。

ULID 的「单调」(monotonic)是什么意思?

当在同一毫秒内生成多个 ULID 时,单调生成器会递增随机部分,使这些 ID 仍按创建顺序排序,而不是在该毫秒内完全随机。