UUID生成器:什么是UUID?批量生成唯一标识符
UUID(Universally Unique Identifier)是一种标准化的唯一标识符格式,在软件开发中广泛应用。
UUID的版本
UUID v4:基于随机数生成,最常用的版本。约5.3×10^36个可能值,重复概率极低。
UUID v1:基于时间戳和MAC地址生成,可追溯生成时间和设备。
UUID v5:基于命名空间和名称生成,同样的输入产生同样的UUID。
UUID的格式
标准的UUID格式为32个十六进制数字,分为5组:8-4-4-4-12
例如:550e8400-e29b-41d4-a716-446655440000
UUID的应用场景
数据库主键:分布式系统中作为主键,无需自增ID。
会话标识:用户会话的唯一标识。
资源标识:API中资源的唯一ID。
文件名:防止文件重名。
如何使用UUID生成器
需要为系统或文件生成唯一标识时,用生成器比手写更可靠:
- 第一步:选择 UUID 版本,多数场景用 v4(随机),需要可复现则用 v5。
- 第二步:设置生成数量,例如一次生成 100 个用于批量导入。
- 第三步:点击生成并复制结果,可整段粘贴到代码、数据库或配置文件。
常见问题(FAQ)
- UUID v4 会重复吗?
- 理论上可能,但 2^122 的随机空间使重复概率低到可忽略,实际项目中无需担心碰撞。
- v1 和 v4 该选哪个?
- 不关心生成时间、只要唯一就选 v4;若需从 ID 反推生成时间或设备,则用 v1。注意 v1 会暴露 MAC 地址。
- UUID 能当数据库主键吗?
- 可以,尤其适合分布式系统。不过 UUID 无序,作为聚簇索引时插入性能不如自增整数,可改用 UUID v7 这类带时间有序的版本。
- UUID 里的横线能去掉吗?
- 可以。部分系统要求 32 位无分隔符,生成后删除连字符即可,值本身不变。
小贴士
- 别用 UUID 做用户可见 ID:过长且不友好,对外展示建议用短码或自增号。
- 前端不要生成安全令牌:UUID v4 不是密码学安全的随机源替代品,密钥请用专门库。