Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all
名前
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/ ⟨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)