Sqids (发音为“squids”)是一个开源库,可让您根据数字生成简短的唯一 ID,类似 YouTube 的 ID。这些 ID 很短,可以从自定义字母表生成,并且保证无冲突。
Sqids 的主要用途纯粹是视觉上的。如果您想在网络应用程序中使用 ID 而不是数字,Sqids可能是一个不错的选择:
-
网址链接缩短:在 URL 中安全使用
-
事件 ID:无碰撞编码/解码
-
一次性密码:简短语言
相比UUID,根据数字生成简短的唯一 ID 对于 API 和面向用户的元素更具可读性和可复制性非常有用。
不适合:
-
敏感数据:这不是一个加密库
-
用户 ID:可被解码,显示用户数量
1、Java代码位于https://github.com/sqids/sqids-java
编码和解码:
Sqids sqids=Sqids.builder().build();
String id=sqids.encode(Arrays.asList(1L,2L,3L)); _// "86Rf07"_List
numbers=sqids.decode(id);
// [1, 2, 3]
2、Python代码位于https://github.com/sqids/sqids-python
编码和解码:
sqids = Sqids()
id = sqids.encode([1, 2, 3]) # "86Rf07"
numbers = sqids.decode(id) # [1, 2, 3]
3、JavaScript代码位于https://github.com/sqids/sqids-javascript
编码和解码:
const sqids = new Sqids()
const id = sqids.encode([1, 2, 3]) // "86Rf07"const numbers = sqids.decode(id) // [1, 2, 3]
4、Go代码位于https://github.com/sqids/sqids-go
编码和解码:
s, _ := sqids.New()
id, _ := s.Encode([]uint64{1, 2, 3}) _// "86Rf07"_numbers := s.Decode(id) // [1, 2, 3]
5、PHP代码位于https://github.com/sqids/sqids-php
编码和解码:
$sqids = new Sqids();
$id = $sqids->encode([1, 2, 3]); // "86Rf07"$numbers = $sqids->decode($id); // [1, 2, 3]