学习什么是UUID、UUID版本之间的差异、如何生成UUID,以及何时在应用程序中使用UUID作为唯一标识符。
步骤指南
了解UUID是什么
UUID(通用唯一标识符)是一个128位的标识符,格式为8-4-4-4-12个十六进制数字:例如550e8400-e29b-41d4-a716-446655440000。碰撞的概率极低,几乎不可能发生。
了解UUID版本
UUID v1:基于时间戳+MAC地址。UUID v4:随机生成(应用开发最常用)。UUID v5:命名空间+名称用SHA-1哈希。UUID v7(较新):按时间排序的随机,更适合数据库索引。
使用我们的工具生成UUID
打开UUID生成器,选择版本(一般用途选v4),点击生成。您可以生成单个或批量UUID并复制到剪贴板。
在代码中使用UUID
JavaScript:crypto.randomUUID()(内置)。Python:import uuid; uuid.uuid4()。Go:github.com/google/uuid。大多数数据库(PostgreSQL、MySQL)都有原生UUID类型和函数。
何时使用UUID vs 自动递增ID
在以下情况使用UUID:合并多个数据库的记录、在URL中公开ID(避免枚举攻击)、或在分布式系统中工作。在以下情况使用自动递增:需要可排序的ID、更小的存储空间或人类可读的行号。
使用免费工具
UUID 生成器
常见问题
Q: 两个UUID可能相同吗?
A: 理论上可以,但概率极低(v4为1/5.3×10³⁶),在实践中被视为不可能。UUID规范的设计就是为了避免这种情况。
Q: UUID v4是否足够安全用于会话令牌?
A: UUID v4是随机生成的,但在所有环境中不一定是加密安全的。对于会话令牌,请使用加密安全的随机生成(例如Node.js中的crypto.randomBytes)。
Q: GUID是什么?它与UUID相同吗?
A: GUID(全局唯一标识符)是Microsoft对UUID的称呼。它们使用相同的格式和算法。GUID和UUID在实践中可以互换使用。