CUID2生成器
生成抗碰撞的CUID2标识符 — 小写字母和数字,始终以字母开头,具有可配置的长度和批处理数。基于SHA3-512的真实CUID2实现,完全在浏览器中计算。
输入
每个ID的字符数,4–32。对大多数应用程序,推荐默认值24。
输出
One ID per line.
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/cuid2-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"length": "24",
"count": "10"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `cuid2-generator` tool (CUID2 Generator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/cuid2-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="CUID2生成器 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。
| 每次 API/MCP 调用费用 | 5 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
CUID2(Collision-resistant Unique IDentifier,v2)是由Eric Elliott设计的现代ID格式,是UUID和原始CUID的更安全、更抗碰撞的替代品。此工具直接在浏览器中生成真实的CUID2风格标识符:仅小写字母和数字,始终以字母开头,具有可控的长度和批处理大小。
CUID2的样子
CUID2是小写字母数字字符串,例如tz4a98xxat96iws9zmbrgj3a。与UUID不同,它永远不包含连字符或大写字符。与自动递增整数不同,它不包含有多少条记录存在或以什么顺序创建的信息。每个ID保证以字母开头(永远不是数字),这使其可以安全地用作变量名、CSS类或不允许标识符以数字开头的系统中的标识符。
如何生成
每个ID结合了多个熵源 — 毫秒级时间戳、单调计数器(因此在同一毫秒生成的ID不会发生碰撞)、随机盐和会话指纹 — 连接并用SHA3-512进行哈希。摘要转换为base36(数字0-9和小写字母a-z),随机开头字母前置,结果截断或填充到所需长度。这反映了CUID2参考实现背后的真实算法:将熵源哈希在一起(而不是像原始CUID v1那样直接公开),意味着ID不会泄露任何有关创建时间或创建顺序的信息。
如何使用此工具
- 设置ID长度 — 4到32个字符之间的任何值。默认值24是CUID2参考库本身为大多数应用程序推荐的值。
- 设置一次要生成多少个ID(1到50)。
- 点击生成。输出的每一行都是一个独立的CUID2。
复制整个列表或下载为.txt文件,每行一个ID。
CUID2的用途
- 数据库主键 — 抗碰撞、非顺序ID,不会泄露行数或插入顺序(对于公开API中的自动递增整数是常见的问题)。
- 分布式ID生成 — 因为每个ID都是从时间戳、计数器和随机熵本地派生的,独立服务或离线客户端可以不用与中央机构或数据库序列协调就能生成ID。
- UUID的替代品 — CUID2比标准UUID短(带连字符的36个字符),不需要转义的URL安全,而且 — 因为总是以字母开头 — 更安全地放入HTML ID、代码标识符或拒绝数字开头的某些遗留数据库列等上下文。
- 测试和演示数据 — 用于播种测试集合、模拟API响应或在真实ID方案存在之前连接UI原型的快速真实外观的唯一标识符。
常见问题
CUID2在密码学上是否安全? 不是,并且不是这样的意图。CUID2是为碰撞阻力设计的 — 两个独立生成的ID不会碰撞的实际保证 — 而不是对攻击者的不可预测性。不要将CUID2用作密码、API密钥或会话令牌。
我能按CUID2排序记录吗? 不能可靠地做到。与公开公开时间戳的原始CUID不同(使ID大致按创建时间可排序),CUID2在发出ID之前与其他熵一起哈希时间戳,所以输出不是按时间顺序排列的。如果需要可排序的ID,请改为查看ULID或时间戳前缀方案。
为什么每个ID都以字母开头? 这样ID总是可以安全地用作更多上下文中的标识符 — CSS类、JavaScript变量名和某些数据库或查询语言标识符不能以数字开头。CUID2通过在哈希部分之前始终添加随机字母来保证这一点。
我应该选择什么长度? 参考实现默认为24个字符,这为典型的应用程序使用提供了非常大的ID空间。较短的长度(8-10)适合短URL或低容量使用案例,其中较小的占用空间比最大碰撞阻力更重要;较长的长度(28-32)适合非常高容量、高并发系统。
隐私
每个ID在浏览器中使用标准SHA3-512哈希本地生成 — 你在这里生成的任何内容都不会发送到服务器、记录或存储。