🆔
UUID 生成器
生成符合 RFC 4122 标准的 UUID。
UUID 生成器
生成通用唯一标识符 (UUID)。
生成的 UUID
数量
UUID 类型
UUID v4 (随机)
输出格式
原始文本
重要说明
UUID 用于在分布式系统中生成唯一标识符。
❓什么是 UUID 生成器
UUID 生成器是一个用于创建通用唯一标识符(UUID)的工具。UUID 是一个 128 位的数字,用于在分布式系统中进行唯一标识。格式:32 个十六进制字符,分为 8-4-4-4-12 组(例如:550e8400-e29b-41d4-a716-446655440000)。主要功能:多个 UUID 版本(v1:基于时间戳、v4:随机、v5:基于命名空间)、批量生成(一次最多 1000 个)、格式自定义(大写/小写、带/不带连字符)、一键复制、JSON/CSV 导出、实时生成。UUID 版本:v1(时间戳 + MAC 地址,有时间顺序,会暴露机器信息)、v3(MD5 哈希,已弃用)、v4(随机,最常用,安全)、v5(SHA-1 哈希,基于命名空间)。使用场景:数据库主键(保证唯一性)、分布式系统 ID(无冲突生成)、API 请求/响应 ID、会话令牌、文件/资源名称、微服务追踪。优势:全局唯一(无需协调)、不可预测(安全性)、无需中央生成器、可离线生成。劣势:比自增 ID 大、随机插入(索引性能)、难以阅读。最佳实践:一般用途使用 UUID v4、需要时间排序时使用 v1 或 ULID、存储为 BINARY(16) 节省空间、关键系统添加数据库唯一约束、API 中考虑去除连字符。此工具在浏览器本地生成 UUID,不会上传数据。
✨功能特点
🔢
多个版本
支持 UUID v1、v4、v5
📦
批量生成
一次生成最多 1000 个 UUID
🎨
格式自定义
控制大小写和连字符
📋
一键复制
快速复制到剪贴板
📋使用指南
配置参数
设置 UUID 数量和选择版本类型
选择格式
选择 UUID 的输出格式
生成和复制
生成 UUID 并复制到剪贴板
📚技术介绍
🔑什么是UUID
UUID(通用唯一标识符)是用于在分布式系统中唯一标识信息的128位标识符。它们遵循RFC 4122标准,在不同系统和时间段内提供高概率的唯一性。UUID用于数据库、API、微服务和分布式应用程序中,其中唯一标识至关重要。该标准定义了多个版本(v1-v5),具有不同的生成方法,每个都适用于特定的用例和安全要求。
⚙️UUID生成算法
UUID生成根据版本使用不同的算法:v1使用时间戳和MAC地址,v4使用随机或伪随机数据,v3/v5使用命名空间和名称哈希。生成过程包括适当的位操作、版本和变体字段设置以及格式验证。高级功能包括加密安全的随机数生成、适当的熵处理以及符合RFC 4122规范。实现确保唯一性、适当格式化和各种应用场景的安全性。
🔒安全性和加密属性
UUID安全性取决于生成方法和熵源。v4 UUID使用加密安全的随机数生成器来确保不可预测性并防止冲突攻击。安全模型包括适当的熵收集、随机数生成以及生成值的验证。高级安全功能包括冲突抵抗、不可预测性以及对枚举攻击的抵抗。实现遵循随机数生成的安全最佳实践,并为生产使用提供安全默认值。
🌐RFC 4122合规性和标准
UUID生成遵循RFC 4122标准,该标准定义了UUID的结构、格式和生成方法。该标准指定了128位标识符,具有版本、变体和数据字段的特定位布局。合规性包括适当的位操作、正确的版本和变体字段设置以及遵循标准格式。实现支持所有UUID版本(v1-v5)、适当的格式化以及根据RFC 4122规范的验证,确保跨不同系统和平台的互操作性。
❓
常见问题
❓
什么是 UUID?
UUID(通用唯一标识符)是一个 128 位的唯一标识符。格式:8-4-4-4-12 的十六进制字符(如 550e8400-e29b-41d4-a716-446655440000)。版本:UUID v1(时间戳 + MAC 地址)、UUID v4(随机)、UUID v5(命名空间 + 名称哈希)。碰撞概率:几乎为 0(2^122 种可能性)。使用场景:数据库主键、分布式系统 ID、会话令牌、文件名。UUID 与微软的 GUID 相同。
💬
UUID v1 和 v4 有什么区别?
UUID v1:基于时间戳 + MAC 地址。优点:有时间顺序、可提取创建时间。缺点:暴露机器信息、安全漏洞。UUID v4:完全随机。优点:高安全性、不暴露信息。缺点:无时间顺序。建议:一般用途使用 v4(安全性)、需要时间排序时使用 v1。本工具默认生成 v4。
🔍
UUID 能保证唯一性吗?
UUID 实际上是唯一的(碰撞概率极低)。UUID v4 碰撞概率:生成 10 亿个,碰撞概率 < 0.0000001%。50% 碰撞概率需要生成 2^122 个。现实中:每秒生成 10 亿个,持续 85 年也不会碰撞。UUID v1:时间戳 + MAC 提供更高的唯一性。建议:无需检查重复,但关键系统应使用数据库唯一约束。
💡
应该使用 UUID 作为数据库键吗?
优点:全局唯一(合并多个数据库)、无冲突生成、适合分布式系统、不可预测(安全性)。缺点:比自增整数大(16 字节 vs 4/8)、索引性能下降(随机插入)、难以阅读。建议:分布式系统使用 UUID,单服务器使用自增。优化:存储为 BINARY(16)、使用有序 UUID(UUIDv1 或 ULID)。
📚
如何存储和使用 UUID?
存储格式:字符串(36 字符带连字符)、BINARY(16)(原生格式,节省空间)、CHAR(32)(无连字符)。数据库:MySQL:BINARY(16) + UUID_TO_BIN()、PostgreSQL:UUID 类型、MongoDB:BinData(subType=4)。编程:JavaScript:crypto.randomUUID()、Python:uuid.uuid4()、Java:UUID.randomUUID()。最佳实践:存储为 BINARY、显示时转为字符串、需要时添加索引、URL 中考虑去除连字符。
💡使用场景
1️⃣
数据库主键
使用 UUID 作为数据库主键,确保分布式环境下的全局唯一性。推荐使用 v4 版本,存储为 BINARY(16) 格式以节省空间。
2️⃣
API 标识符
为 API 请求、响应、资源生成唯一标识符。UUID 可确保跨多个服务器和数据中心的唯一性,适合 RESTful API 和微服务架构。
3️⃣
会话管理
生成会话 ID 和认证令牌。UUID v4 提供足够的随机性,防止会话劫持。适用于 Cookie、JWT、OAuth 令牌等场景。
4️⃣
文件和资源命名
为上传的文件、临时文件、云存储对象生成唯一名称。UUID 确保文件名不会冲突,避免覆盖现有文件。
5️⃣
分布式系统追踪
在微服务架构中追踪请求链路。为每个请求生成 UUID,在日志中追踪请求流转,便于问题排查和性能分析。
🔗Related Documents
User Comments
Loading...