Official JavaScript port of Sqids. Generate short unique IDs from numbers.
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
Sqids JavaScript
Sqids(发音为 "squids")是一个小型库,可让您从数字生成唯一 ID。它适用于链接缩短、快速且 URL 安全的 ID 生成,以及解码回数字以实现更快的数据库查找。
特性:
- 编码多个数字 - 从一个或多个非负数字生成短 ID
- 快速解码 - 轻松将 ID 解码回数字
- 唯一 ID - 通过一次打乱字母表生成唯一 ID
- ID 填充 - 提供最小长度使 ID 更加统一
- URL 安全 - 自动生成的 ID 不包含常见的亵渎性词汇
- 随机化输出 - 顺序输入会生成非连续的 ID
- 多种实现 - 支持40 多种编程语言
🧰 用例
适用于:
- 为公共 URL 生成 ID(例如:链接缩短)
- 为内部系统生成 ID(例如:事件跟踪)
- 解码以实现更快的数据库查找(例如:通过主键)
不适用于:
- 敏感数据(这不是加密库)
- 用户 ID(可被解码,从而泄露用户数量)
🚀 快速开始
yarn:
yarn add sqids
npm:
npm install sqids
<script src="https://cdnjs.cloudflare.com/ajax/libs/sqids/0.3.0/sqids.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sqids/dist/sqids.min.js"></script>
👩💻 示例
简单编码与解码:
import Sqids from 'sqids'
const sqids = new Sqids()
const id = sqids.encode([1, 2, 3]) // "86Rf07"
const numbers = sqids.decode(id) // [1, 2, 3]
注意 🚧 由于算法设计原因,多个 ID 可能会解码为相同的数字序列。如果您的设计要求 ID 具有唯一性,您必须手动重新编码解码后的数字,并检查生成的 ID 是否匹配。
强制设置 ID 的最小长度:
import Sqids from 'sqids'
const sqids = new Sqids({
minLength: 10,
})
const id = sqids.encode([1, 2, 3]) // "86Rf07xd4z"
const numbers = sqids.decode(id) // [1, 2, 3]
通过提供自定义字母表来随机生成 ID:
import Sqids from 'sqids'
const sqids = new Sqids({
alphabet: 'FxnXM1kBN6cuhsAvjW3Co7l2RePyY8DwaU04Tzt9fHQrqSVKdpimLGIJOgb5ZE',
})
const id = sqids.encode([1, 2, 3]) // "B4aajs"
const numbers = sqids.decode(id) // [1, 2, 3]
防止特定词语出现在自动生成的 ID 中的任何位置:
import Sqids from 'sqids'
const sqids = new Sqids({
blocklist: new Set(['86Rf07']),
})
const id = sqids.encode([1, 2, 3]) // "se8ojk"
const numbers = sqids.decode(id) // [1, 2, 3]
📝 许可证
项目介绍
Official JavaScript port of Sqids. Generate short unique IDs from numbers.
MIT JavaScript35提交数hashidsidid-generatorjavascriptshortshort-idshort-urlsqidstypescriptuidunique-idunique-id-generator
定制我的领域