格式
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
ExcelVBA
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