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生成器来生成。

其他阅读

Winsaa 解锁 Windows 时间管理新姿势

了解自我时间分配,从记录每一秒开始。Winsaa 是轻码科技推出的一款 Windows 屏幕应用使用分析软件,它自动精准追踪每个应用的使用时长,并生成可视化报告,帮助你提升工作与学习效率。

查看原文

Nginx重定向HTTP到HTTPS

HTTP协议以纯文本形式进行数据的交互,数据明文传输,容易被监听,窃取和伪造,HTTPS在HTTP的基础上,使用了TLS/SSL对通信过程进行加密,数据得到了有效的保护,就算被拦截到也无法获取信息,更没法实施中间人攻击。本文将会介绍如何在Nginx中配置HTTP重定向到HTTPS。

查看原文

JSON是什么

在现代化 Web 应用开发中,广泛使用一种名为 JSON 的数据交换格式。JSON 是一种轻量级数据交换格式,在不同系统之间提供标准且高效的数据交换。

查看原文

解决sqlite依赖无法打包单文件的问题

在一次WPF开发中,选用了sqlite作为内嵌数据库,使用 ystem.Data.SQLite 库来调用,在使用 Fody 进行单文件打包时,发现打包文成后会出现 x86 和 x64 两个特定的文件夹,分别对应着32位和64位的 SQLite.Interop.dll,本文介绍修改项目文件来实现将 sqlite 通信库一起打包成单文件的方法。

查看原文

Winform中设置控件边框

本文将会介绍在Winform中如何设置控件的边框,可应用于Form和Panel等。

查看原文