首页 / 软件开发 / 数据结构与算法 / C语言实现UUID生成算法(WIN32版本)
C语言实现UUID生成算法(WIN32版本)2010-10-29 csdn 张亮根据定义,UUID(Universally Unique IDentifier,也称GUID)在时间和空间都是唯一的。为保证空间的唯一性,每个UUID使用了一个48位的值来记录,一般是计算机的网卡地址。为保证时间上的唯一性,每个UUID具有一个60位的时间戳(timestamp)。这个时间戳表示自公元1582年(绝对不是1852,这是《COM技术内幕》,1999年3月第1版第89页中的一个错误)10月15号00:00:00:00以来的时间,是以100纳秒为单位的时间间隔。1纳秒(ns)=10-9秒(s)。UUID可以保证至大约公元3400年仍然唯一。UUID的C语言结构定义如下:typedef struct _uuid_t
{
unsigned long data1;
unsigned short data2;
unsigned short data3;
unsigned char data4[8];
} uuid_t;
它的结构大小为16个字节。即sizeof(uuid_t)==16为TRUE。写成16进制字符串的格式,一般为:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"上面的字符串形式,占用36个字符,不包括结尾空字符’