uuid_generate

http://blog.chinaunix.net/uid-12567959-id-161022.html

Name

uuid_generate, uuid_generate_random, uuid_generate_time - create a newunique UUID value

Synopsis

#include <uuid/uuid.h>

void uuid_generate(uuid_t
out);
void uuid_generate_random(uuid_t
out);
void uuid_generate_time(uuid_t
out);


Description
The uuid_generate function creates a new universally uniqueidentifier (UUID). The uuid will be generated based on high-quality randomnessfrom

/dev/urandom, ifavailable. If it is not available, then uuid_generate

will use an alternative algorithm which uses the current time, the localethernet MAC address (if available), and random data generated using apseudo-random generator.


The uuid_generate_random function forces the use of the all-randomUUID format, even if a high-quality random number generator (i.e., /dev/urandom)is not available, in which case a pseudo-random generator will be subsituted.Note that the use of a pseudo-random generator may compromise the uniqueness ofUUID's generated in this fashion.


The uuid_generate_time function forces the use of the alternativealgorithm which uses the current time and the local ethernet MAC address (ifavailable). This algorithm used to be the default one used to generate UUID,but because of the use of the ethernet MAC address, it can leak informationabout when and where the UUID was generated. This can cause privacy problems insome applications, so the uuid_generate function only uses thisalgorithm if a high-quality source of randomness is not available.


The UUID is 16 bytes (128 bits) long, which gives approximately 3.4x10^38unique values (there are approximately 10^80 elemntary particles in theuniverse according to Carl Sagan's Cosmos). The new UUID can reasonablybe considered unique among all UUIDs created on the local system, and amongUUIDs created on other systems in the past and in the future.

Return Value

The newly created UUID is returned in the memory location pointed to by out.

Conforming To

OSF DCE 1.1

Author

Theodore Y. Ts'o

Availability

http://e2fsprogs.sourceforge.net/

See Also

uuid(3), uuidgen(1),uuid_clear(3), uuid_compare(3), uuid_copy(3), uuid_is_null(3), uuid_parse(3), uuid_time(3), uuid_unparse(3)

Referenced By

libuuid(3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值