GUID/UUID
2023-09-22 本文已影响0人
大龙10
一、GUID
全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。
GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128 (3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。
GUID一词有时也专指微软对UUID标准的实现。
在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象。
二、UUID
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。
其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),
三、格式
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” (8-4-4-4-12),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制数。
- 1.需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。
- 2.GUID理论上能产生全宇宙唯一的值,对于以后的数据导入很方便。
四、程序
- Delphi
uses ActiveX;
function ctGUID:string;
var
id:TGUID;
begin
CoCreateGuid(id);
Result:=GUIDToString(id);
end;
- C#
using System;
namespace GUID测试
{
class Program
{
static void Main(string[] args)
{
//产生一个新的GUID并输出
Console.WriteLine(System.Guid.NewGuid());
Console.ReadKey();
}
}
}