我要求在C中生成guid, 如何在libc中生成guid(http://en.wikipedia.org/wiki/Globally_unique_identifier)。 我需要随机生成guids。
答案 0 :(得分:2)
续:参考:http://linux.die.net/man/3/uuid_generate
uuid_generate_time_safe - 创建一个新的唯一UUID值 概要
#include <uuid/uuid.h>
void uuid_generate(uuid_t out);void uuid_generate_random(uuid_t out);void
uuid_generate_time(uuid_t out);int uuid_generate_time_safe(uuid_t out);
Description
uuid_generate函数创建一个新的通用唯一标识符(UUID)。如果可用,将根据/ dev / urandom中的高质量随机性生成uuid。如果它不可用,则uuid_generate将使用替代算法,该算法使用当前时间,本地以太网MAC地址(如果可用)和使用伪随机生成器生成的随机数据。 即使高质量随机数发生器(即/ dev / urandom)不可用,uuid_generate_random函数也强制使用全随机UUID格式,在这种情况下,伪随机生成器将被替换。请注意,使用伪随机生成器可能会损害以这种方式生成的UUID的唯一性。