UUID 生成器:UUID v4 是什么?在线批量生成唯一标识符教程

# UUID 生成器:UUID v4 是什么?在线批量生成唯一标识符教程

做开发几乎都会遇到需要「唯一标识」的场景:数据库主键、订单号、文件名、设备 ID、API 幂等键……UUID(通用唯一标识符)是业界最通用的解决方案。这篇讲清 UUID 的原理,再推荐一个在线生成工具。

## 什么是 UUID

UUID(Universally Unique Identifier)是一个 128 位的标识符,标准格式为 8-4-4-4-12 的 32 位十六进制字符:

```
550e8400-e29b-41d4-a716-446655440000
```

因为空间极大(2 的 122 次方可用空间),随机生成的 UUID 几乎不可能重复,所以不需要中央协调机构,各系统自行生成也不会冲突。

## 常见 UUID 版本

| 版本 | 生成方式 | 特点 |
|------|---------|------|
| v1 | 时间戳 + MAC 地址 | 有序但泄露机器信息 |
| v4 | 完全随机 | 最常用,隐私友好 |
| v7 | 时间戳 + 随机 | 有序、适合数据库索引 |

日常开发首选 **UUID v4**:随机生成、无需网络、无信息泄露。

## UUID 的典型用途

- 数据库主键:避免自增 ID 被遍历抓取
- 文件名:上传文件重命名,避免重名覆盖
- 订单号 / 交易号:保证全局唯一
- 日志追踪 ID:一次请求一条 traceId,全链路排查
- 客户端设备标识:App 首次启动生成并保存

## 在线 UUID 生成器

我们开发的 [UUID 生成器](https://zjunwei.com/seo-tools/uuid-generator.html) 免费使用,浏览器本地生成,支持:

- **批量生成**:一次生成 1-100 个 UUID,量大管饱
- **版本选择**:支持 v4(随机)和 v1(时间戳)生成
- **格式灵活**:标准格式、无连字符格式、大写格式一键切换
- **一键复制**:单个复制或整体复制,方便粘贴使用

## 编程语言里生成 UUID

```javascript
// JavaScript(浏览器需 crypto.randomUUID,较新版本支持)
crypto.randomUUID(); // 550e8400-e29b-41d4-a716-446655440000
```

```python
# Python
import uuid
uuid.uuid4() # UUID('550e8400-e29b-41d4-a716-446655440000')
```

```bash
# Linux/macOS
cat /proc/sys/kernel/random/uuid # Linux
uuidgen # macOS/Linux
```

## 常见问题

**Q:UUID 真的一定不会重复吗?**
A:理论上会重复,但概率极低(v4 有 122 位随机空间),比中彩票低无数个数量级,工程上视为不重复。

**Q:UUID 能当订单号直接给用户看吗?**
A:可以,但 36 个字符太长、不友好,一般订单号会另外生成短格式,UUID 用于系统内部标识。

**Q:UUID 和雪花 ID 有什么区别?**
A:UUID 随机、不依赖时钟,适合分布式任意节点生成;雪花 ID 是 64 位、按时间有序,适合海量数据分库分表时做有序主键。

## 总结

UUID 是解决「唯一标识」问题的标准答案。需要批量生成、格式化输出时,直接用 [UUID 生成器](https://zjunwei.com/seo-tools/uuid-generator.html),一键搞定。

💬 暂无评论