-1

我需要在 C 中生成 guid,如何在 libc中生成 guid( http://en.wikipedia.org/wiki/Globally_unique_identifier )。我需要随机生成 guid。

4

1 回答 1

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)。uuid 将基于来自 /dev/urandom(如果可用)的高质量随机性生成。如果不可用,则 uuid_generate 将使用替代算法,该算法使用当前时间、本地以太网 MAC 地址(如果可用)和使用伪随机生成器生成的随机数据。uuid_generate_random 函数强制使用全随机 UUID 格式,即使高质量的随机数生成器(即 /dev/urandom)不可用,在这种情况下将替换一个伪随机生成器。请注意,使用伪随机生成器可能会损害以这种方式生成的 UUID 的唯一性。

于 2013-04-20T03:21:24.887 回答