#uuid #id #base62 #shortener #url62

friendly_id

友好ID库可以将给定的UUID转换为基于Base62的URL友好ID

5个不稳定版本

0.3.0 2020年9月6日
0.2.0 2020年9月6日
0.1.2 2020年9月5日
0.1.1 2020年9月5日
0.1.0 2020年9月5日

#7 in #base62


用于 friendlyid

MIT/Apache

9KB
127 行(不含注释)

Version Docs

友好ID Rust库

友好ID库是什么?

友好ID库可以将给定的UUID(36个字符)转换为基于Base62的URL友好ID(友好ID),例如以下示例

UUID                                        Friendly ID

c3587ec5-0976-497f-8374-61e0c2ea3da5   ->   5wbwf6yUxVBcr48AMbz9cb
|                                           |                              
36 characters                               22 characters or less

此外,该库还允许

  • 将友好ID转换回原始UUID;
  • 创建一个新的随机友好ID

为什么使用友好ID?

通用唯一标识符(UUID)提供了一种非顺序且唯一的标识符,可以单独生成,与源数据库无关。因此,无法猜测前一个或下一个标识符。这很好,但为了达到这种安全级别,UUID很长(128位长)且外观丑陋(36个字母数字字符,包括四个用于方便阅读而添加的连字符),如下例所示: 123e4567-e89b-12d3-a456-426655440000

这种格式是

  • 难以阅读(尤其是它是URL的一部分时)
  • 难以记忆
  • 只能通过两次鼠标点击来复制(您必须手动选择开始和结束位置)
  • 在复制、粘贴、编辑或发送时很容易跨行损坏。

我们的友好ID Java库通过使用Base62将给定的UUID转换为由最多22个字符组成的友好ID(但实际上通常包含更少的字符)来解决这些问题。

支持的语言

目前友好ID还支持 JavaSwift

工具

有可用的CLI转换器

依赖

~345–510KB