UUID_GENERATE
Section: C Library Functions (3)
Updated: December 2010
Index
JM Home Page
roff page
名前
uuid_generate, uuid_generate_random, uuid_generate_time - 他と重ならない 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);
説明
uuid_generate
関数は新しい UUID (universally unique identifier:
絶対に他とは重ならない識別子) を生成する。
UUID の生成には、
/dev/urandom
のような質の良い乱数発生機構が利用できる場合はそれを利用する。
できない場合には、
uuid_generate
は別のアルゴリズムを用いる。この場合は現在時刻、
ローカルなイーサネットの MAC アドレスが取得できればその値、
および擬似乱数発生機構から生成された乱数が用いられる。
uuid_generate_random
関数は、質の良い乱数発生機構 (例えば
/dev/urandom)
が利用できない場合でも、完全にランダムベースの (つまり時刻や
MAC アドレスを使わない) UUID フォーマットを作りたい場合に用いる。
この場合は擬似乱数発生機構が代わりに用いられる。
擬似乱数発生機構を利用すると、このように生成された UUID の
一意性は劣化するかもしれないことに注意すること。
uuid_generata_time
関数は、代替アルゴリズムを使いたい場合に用いる。
これは現在時刻と (あれば) イーサネットの MAC アドレスを用いる。
このアルゴリズムはかつて UUID 生成方法のデフォルトであったが、
イーサネットの MAC アドレスを用いるので、いつどこで UUID が生成
されたかの情報がリークしてしまう。これはアプリケーションによっては
プライバシーの問題を起こすことがあるので、
uuid_generate
関数は質の高い乱数発生機構が利用できない場合に限って
このアルゴリズムを用いるようになった。
UUID は 16 バイト (128 ビット) 長で、およそ 3.4x10^38 この
ユニークな値を与える (Carl Segan の
Cosmos
によれば、全宇宙にある素粒子の個数は 10^80 だそうである)。
新たに作られた UUID は、ローカルなシステムや外部のシステムによって
過去または未来に生成された/される UUID のいずれとも異なると
考えることができる。
返り値
新たに生成された UUID が、
out
の指すメモリ位置に返される。
準拠
OSF DCE 1.1
著者
Theodore Y. Ts'o
入手方法
http://e2fsprogs.sourceforge.net/
関連項目
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)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- 準拠
-
- 著者
-
- 入手方法
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:44 GMT, November 24, 2023