Linux系统编程之UUID介绍与生成方法

UUID是通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <uuid/uuid.h>

int main(void)
{
    char data[37] = { 0 };
    int fd = open("/proc/sys/kernel/random/uuid", O_RDONLY);
    if (fd > 0) 
    {
	read(fd, data, 36);
	data[36] = '\0';
	close(fd);
    }
    printf("FILE UUID:\t%s\n", data);

    uuid_t uuid;
    uuid_generate(uuid);
    uuid_unparse(uuid, data);
    printf("LIB UUID:\t%s\n", data);

    return 0;
}

Leave a Reply

Your email address will not be published.