123问免费工具与知识服务
123问工具大全› 工具大全› 实用工具› UUID生成器

🆔 UUID生成器

UUID v4 · 批量生成 · 多种格式

UUID生成器常见问题

UUID是什么?

UUID(通用唯一识别码)是128位标识符,格式如550e8400-e29b-41d4-a716-446655440000。v4版本用随机数生成,碰撞概率极低(约2.71×10^18个UUID才有50%碰撞概率)。

UUID v4安全吗?

v4使用crypto安全随机源生成,适合会话ID、文件名、数据库主键。但不适合加密密钥(用crypto.getRandomValues生成256位随机数)。

UUID会重复吗?碰撞概率多大?

v4有122位随机比特,理论上约需生成2.71×10^18个UUID才有50%概率出现一次碰撞。实际场景下碰撞概率几乎可以忽略,所以广泛用作唯一标识。

UUID有几种版本?区别是什么?

常见有v1(基于时间戳+MAC)、v3/v5(基于命名空间+哈希)、v4(纯随机)。本工具生成v4,最常用、无需记录时间戳和MAC,隐私性最好。v1因含MAC地址有隐私风险。

带连字符和不带连字符有什么区别?

两种表示的UUID完全相同,只是格式不同。标准格式带连字符(e.g. 550e8400-e29b-41d4-a716-446655440000),去掉连字符成32位十六进制串。有些系统/数据库存储要求不带连字符。

UUID能当数据库主键吗?有什么注意?

可以,优点是全局唯一、适合分布式系统。缺点是相比自增ID占空间更大、且乱序会影响索引性能(可用有序UUID缓解)。小项目用自增ID即可,分布式用UUID。

UUID和GUID有什么区别?

基本是同一回事。GUID是微软对UUID的称呼(Global Unique Identifier),实现上略有差异但概念相同。把GUID当UUID用即可。

批量生成的UUID是唯一的吗?

每次生成都独立调用随机源,即使一次生成100个,互相重复的概率也近乎为零。若要做严格去重,可套用"去重"逻辑,但通常没必要。

UUID生成器 - 示例演示

示例一:标准UUID v4

输入:生成1个,带连字符
结果:如 550e8400-e29b-41d4-a716-446655440000
标准格式,用于数据库主键、会话ID、接口参数等最常见场景。

示例二:不带连字符

输入:生成1个,不带连字符
结果:如 550e8400e29b41d4a716446655440000(32位)
某些系统字段长度限制或存储格式要求32位无分隔符时用这种。

示例三:批量生成

输入:生成5个
结果:得到5个互不重复的UUID,方便一次生成多条测试数据
插入测试数据、批量初始化时一次生成多个,省去重复点击。

UUID生成器深度解读

UUID的128位是怎么构成的?

UUID是128位(16字节)标识符。v4版本中,第7字节的高4位固定为0100(版本4),第9字节的高2位固定为10(variant),其余122位都是随机。

常见UUID版本对比
版本生成方式特点
v1时间戳+MAC/MAC随机含时间信息,可预测
v3MD5哈希命名空间确定性
v4纯随机最常用、隐私好
v5SHA-1哈希命名空间确定性

为什么碰撞概率这么低?

v4有约122位随机,随机空间超大。碰撞概率随生成数量平方增长,但到10^18数量级才到50%,现实中不会达到。

  • 单个UUID全局唯一
  • 无需中央协调即可生成
  • 适合分布式/多节点系统
  • 不会暴露业务数量等敏感信息(相比自增ID)

什么时候用UUID,什么时候用自增ID?

  • 分布式、多库多表:用UUID避免主键冲突
  • 需要对外暴露ID:用UUID避免被枚举
  • 单机小项目:自增ID更紧凑、性能好
  • 需要排序/范围查询:自增ID更友好

UUID的常见坑

  • 别把UUID当加密密钥用
  • v1含MAC有隐私风险,别用于敏感场景
  • MySQL存UUID建议用BINARY(16)或转成有序格式
  • 不同系统大小写/连字符习惯可能不同,接口对接要统一

UUID生成器参考数据

UUID格式示例

格式示例
标准带连字符550e8400-e29b-41d4-a716-446655440000
不带连字符550e8400e29b41d4a716446655440000
大写550E8400-E29B-41D4-A716-446655440000
带花括号{550e8400-e29b-41d4-a716-446655440000}

UUID vs 自增ID

对比项UUID自增ID
全局唯一是否(单库唯一)
分布式友好高低
存储空间32字符小
可预测否是
索引性能略差优

使用说明

使用方法

1. 设置生成数量。

2. 选择格式(带/不带连字符)。

3. 点击生成。

4. 复制结果。

分享工具: Facebook Twitter 微博 复制链接