GUID/UUID

作者: 大龙10 | 来源:发表于2023-09-22 12:34 被阅读0次

    一、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(); 
            } 
         } 
     }
    

    相关文章

      网友评论

          本文标题:GUID/UUID

          本文链接:https://www.haomeiwen.com/subject/znvvvdtx.html