今天學(xué)GUID,發(fā)現(xiàn)網(wǎng)上資料很多,就轉(zhuǎn)載了一些:
GUID介紹:http://zhidao.baidu.com/question/3912210.html
GUID(Globally Unique IDentifier) 也稱作 UUID(Universally Unique IDentifier).
特點:
GUID/UUID是通過特定算法產(chǎn)生的一個二進制長度為128位的數(shù)字,
在空間上和時間上具有唯一性,保證同一時間不同地方產(chǎn)生的數(shù)字不同,
在公元3400年以前產(chǎn)生的UUID/GUID與任何其他產(chǎn)生過的UUIDs/GUIDs都不相同。在需要GUID的時候,可以完全由算法自動生成,不需要一個權(quán)威機構(gòu)來管理。
GUID的長度固定,并且相對而言較短小,非常適合于排序、標識和存儲。
用途:
標識特定的組件、程序、文件、數(shù)據(jù)、用戶等,并可以在網(wǎng)絡(luò)中使用。
。。。。省略N字
用API來生成GUID:
http://www.cnblogs.com/wubiyu/archive/2008/12/03/1346348.html
//--生成GUID的代碼
//--相關(guān)程序/微軟guidgen.exe
#include "stdafx.h"
#include <objbase.h>
#include <stdio.h>
//--生成GUID
const char* newGUID()
{
static char buf[64] = {0};
GUID guid;
if (S_OK == ::CoCreateGuid(&guid))
{
_snprintf(buf, sizeof(buf)
, "{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}"
, guid.Data1
, guid.Data2
, guid.Data3
, guid.Data4[0], guid.Data4[1]
, guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5]
, guid.Data4[6], guid.Data4[7]
);
}
return (const char*)buf;
}
int main(int argc, char* argv[])
{
//--COM
CoInitialize(NULL);
printf(newGUID());
printf("\r\n");
//--COM
CoUninitialize();
return 0;
}