关于 UUID 生成器
UUID(Universally Unique Identifier,通用唯一标识符)是一个 128 位的标准化标识符,常用 32 个十六进制字符表示,如 `f47ac10b-58cc-4372-a567-0e02b2c3d479`。本工具基于浏览器 Web Crypto API 在本地生成 RFC 4122 标准的 UUID v4,完全不依赖服务端,生成的 UUID 不会被记录或上传。
使用场景
- 数据库主键 — 替代自增 ID,适合分布式系统避免主键冲突,支持离线生成、合并写入。
- API 请求 ID — 为每个 HTTP 请求打上唯一标记,便于日志追踪和分布式链路关联。
- 前端临时 key — Vue/React 列表渲染时为没有稳定 ID 的临时项分配 key,避免重渲染问题。
- 文件命名 — 批量上传或缓存时避免重名覆盖,文件名带 UUID 几乎不会冲突。
- 会话 token — 配合签名生成不可猜测的 session ID 或一次性令牌。
常见问题
UUID v4 会不会重复?
理论上会,但概率极低。UUID v4 由 122 位随机数构成,生成 100 亿个 UUID 出现一次碰撞的概率约为 50%——在工程上可视为永不冲突。
UUID 和 GUID 是同一个东西吗?
是。GUID 是微软对 UUID 的别名,二者格式完全一致,可互换使用。
为什么我的 UUID 总是以 4 开头?
第 13 位字符标识 UUID 版本,v4 固定为 4。如果需要可按时间排序的 UUID,可考虑使用本站的「ULID 生成器」。
UUID 安全吗?可以用作密钥吗?
v4 本身不是为加密设计的,但 122 位熵值已远超普通 token。如果需要更高安全等级,推荐使用本站的「令牌生成器」。
为什么不上传到服务端就能生成?
浏览器原生提供 crypto.getRandomValues() API,这是经过密码学评审的安全随机源,质量与服务端 /dev/urandom 等价。