UUID 在线批量生成与随机密码工具

批量生成符合 RFC 4122 标准的 UUID v4 唯一标识符,支持连字符与大小写转换,并提供加密级随机安全密码与 API Key 生成。

加密级随机安全伪熵 (crypto.getRandomValues)
开发者特惠 阿里云官方合作专区

阿里云爆款云服务器 · 开发者上云特惠 99元/年起

2核2G/2核4G 高性能轻量服务器、OSS 对象存储与云数据库限时特价,专属通道直达优惠。

生成数量:

UUID 版本家族特性与演进对比 (RFC 4122 / RFC 9562)

对比 v1、v3、v4、v5 以及最新规范 v7 的生成逻辑、安全考量与数据库索引特性。

UUID 版本生成原理与基础数据源碰撞风险隐私与安全考量数据库 B+ 树索引友好度
UUID v1时间戳 (60-bit) + 硬件网卡 MAC 地址极低 (单机单纳秒唯一)存在隐私风险 (泄露物理 MAC 地址)低位在左,写入非单调递增
UUID v4 (主流)纯加密级安全伪随机数 (122-bit 熵)数学上近乎不可能碰撞 (\( 2^{-122} \))完全匿名,无任何主机或时间关联极差 (随机离散插入引发频繁页分裂)
UUID v5命名空间 Namespace + SHA-1 哈希散列同命名空间同名称输出恒定确定性输出,不可逆极差 (散列均匀离散分布)
UUID v7 (新标准)毫秒级 Unix 时间戳 (前48位) + 随机数数学碰撞概率趋零无物理 MAC 泄露风险极佳 (单调递增,天然主键友好)

常见编程语言生成 UUID 代码速查

主流后端语言中生成符合 RFC 4122 标准 UUID v4 的原生或官方库方法。

JavaScript (Web / Node 15+)原生 API
// 浏览器与 Node.js 原生支持
const uuid = crypto.randomUUID();
Python (uuid)标准库
import uuid

# 生成 UUID v4 字符串
uid = str(uuid.uuid4())
Golang (google/uuid)go get
import "github.com/google/uuid"

// 生成随机 UUID v4
id := uuid.New().String()
Java (java.util.UUID)JDK 内置
import java.util.UUID;

String uuid = UUID.randomUUID().toString();
PHP (ramsey/uuid)Composer
use Ramsey\Uuid\Uuid;

$uuid = Uuid::uuid4()->toString();
Linux CLI (uuidgen)util-linux
# 生成一个 UUID
uuidgen

# 或直接读取内核随机数
cat /proc/sys/kernel/random/uuid

UUID 唯一标识符常见技术问答 (FAQ)

碰撞概率数学推导、分布式数据库主键选择与 GUID 区别。

Q1: UUID v4 会发生碰撞(重复)吗?概率有多大?

UUID v4 拥有 122 位的有效随机熵,可能的组合总数高达 \( 2^{122} \approx 5.3 \times 10^{36} \) 种。根据生日悖论计算,若要达到 50% 的碰撞概率,需要以每秒生成 10 亿个 UUID 的极端速度持续生成整整 85 年(累计生成 \( 2.7 \times 10^{18} \) 个)。在人类现有的计算体系下,UUID v4 的碰撞概率在工程实践中等同于零。

Q2: 为什么 MySQL InnoDB 等数据库不推荐使用 UUID v4 作为主键?

InnoDB 聚簇索引底层基于 B+ 树数据结构构建。由于 UUID v4 的字符序列是完全随机离散的,在持续插入新记录时,会导致数据无法依次顺序追加在索引叶子节点的末尾,而是频繁在各个叶子数据页中间随机写入,引发严重的页分裂 (Page Split),导致大量的磁盘 I/O 随机写与碎片率飙升。推荐使用有序的自增主键、Snowflake 雪花 ID 或最新的时间有序 UUID v7。

Q3: UUID 与 GUID 是一回事吗?

本质上是同一种规范的不同称呼。UUID (Universally Unique Identifier) 是由 Open Software Foundation (OSF) 与 IETF 统一标准化的通用规范;而 GUID (Globally Unique Identifier) 则是微软(Microsoft)在 COM 组件体系与 .NET 框架中对该标准的特定叫法与实现。两者的字节长度均为 128 位,结构与格式完全兼容。