GUID

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。GUID一词有时也专指微软对UUID标准的实现。在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象。
基础资料
  • 中文名:全局唯一标识符
  • 外文名:GUID,Globally Unique Identifier
  • 类型:数字唯一标识符
  • 作用于:多节点、多计算机的网络或系统
  • 简介

    格式

    GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。

    特点

    ★需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。

    ★GUID理论上能产生全球唯一的值,对于以后的数据导入很方便。

    争议

    由于GUID值产生的潜在弊端已经引起了保密性提倡者的关注。1999年3月,美国联邦商务委员会接到要求,对微软的GUID值使用进行调查。争议主要涉及Office 97和Office 2000文档对GUID值的使用。Office文档,如Word文件或Excel电子数据表,所使用的GUID值对用户是不可见的。但有很多报道宣称,文档的作者是可以通过GUID值的跟踪查到的,即使作者已经采用特殊方法,他们还是可以被追踪到。为了回应上述问题,微软已经发布了一个Office 97修补版SR2,它禁止了GUID功能的使用,并且还可以将现存文档的GUID去除。

    潜在的对Intel处理器序列号滥用的问题与上述GUID值的问题本质是一样的。

    程序

    VB

    C++

    Delphi

    C#

    Java

    OC

    NSString * get_uuid()

    {

    CFUUIDRef uuid_ref = CFUUIDCreate(NULL);

    CFStringRef uuid_string_ref= CFUUIDCreateString(NULL, uuid_ref);

    CFRelease(uuid_ref);

    NSString *uuid = [NSStringstringWithString:(NSString*)uuid_string_ref];

    CFRelease(uuid_string_ref);

    return uuid;

    }

    Pascal

    【注:貌似上面的Delphi无法在free pascal下使用】

    易语言

    PHP

    SAPABAP

    参考note:935047 - Creating and using GUIDs (UUIDs)

    Function group SYGU,

    Function modules GUID_CREATE, GUID_CONVERT, SYSTEM_UUID_C22_CREATE,

    Function group SYST,

    Function modules SYSTEM_UUID_CREATE, SYSTEM_UUID_C_CREATE, SYSTEM_GET_UNIQUE_ID

    首页
    科技
    #贵族
    最新入驻
    贾科莫·普契尼
    Caroline Lufkin
    翁建宇
    相关阅读
    路由汇聚
    内容词条·1175人浏览
    会话初始化协议
    内容词条·7099人浏览
    PVLAN
    内容词条·986人浏览
    稀疏模式独立组播协议
    内容词条·7040人浏览
    可变长子网掩码
    内容词条·6415人浏览
    路由域
    内容词条·1738人浏览
    • 网站地图
    • |

    Copyright 2023 fuwu029.com赣ICP备2022008914号-4