GUID和UUID

发布时间:2025-07-10

GUID,英文全称为 Global Unique Identifier,意为全局唯一标识符,UUID,英文全称为 Universally Unique Identifier,意为通用唯一标识符,都具有唯一性,GUID也是微软对UUID是的实现。

UUID

UUID,通用唯一标识码,作为分布式运算环境的一部分,是一个作用于计算机体系中识别信息的128位标识符标准。

在UUID标准中规定了UUID全长位128位,表示为32个数字,在表现形态上展现为16进制数字,以特定的长度分割,其中用连字符 - 分割为5组数字,长度为 8-4-4-4-12,形式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 总共36个字符。

GUID

GUID,全局唯一标识码,本质上为UUID标准,由微软根据UUID标准变种实现得到,所以在形式上和UUID表现完全一致。如:{21EC2020-3AEA-1069-A2DD-08002B30309D}。

GUID的主要目的是产生完全唯一的数字。在理想情况下,任何计算机都不会生成两个相同的GUID。GUID的总数也足够大,达到了2^128^(3.4×1038)个,所以随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。

C#代码

使用C#代码可以很容易的生成并使用GUID,C#代码中提供了 Guid 类型,并且内置了很多方法,例如 NewGuid() 可以直接生成一个全新的GUID,同时提供了多种格式化格式。

var guid = Guid.NewGuid();
var guidStr = guid.ToString();

其中的 ToString() 方法提供了多个参数支持,用于输出不同格式的GUID字符串,包括了 D,N,B,P和X。

规范 返回格式
N 32位数字:00000000000000000000000000000000
D 连字符分隔的32位数字:00000000-0000-0000-0000-000000000000
B 大括号括起来的连字符分隔的32位数字:{00000000-0000-0000-0000-000000000000}
P 小括号括起来的连字符分隔的32位数字:(00000000-0000-0000-0000-000000000000)
X 大括号括起来的十六进制数字:{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

对于需要快速生成GUID,还可以使用GUID生成器来生成。