UUID_GENERATE

Section: C Library Functions (3)
Updated: December 2010
Index JM Home 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)

関連キーワード

乱数   機構   アルゴリズム   アドレス   uuid   generate   時刻   イーサネット   擬似   ローカル   random   time   universally   unique   identifier   絶対   識別子   ランダム   ベース   フォーマット   一意   劣化   代替   方法   リーク

Linux マニュアル 一覧

関連するコマンド・関数

uuidgen.1   initstate.3   random.3   setstate.3   srandom.3   rand.3
 

Index

名前
書式
説明
返り値
準拠
著者
入手方法
関連項目

This document was created by man2html, using the manual pages.
Time: 04:38:46 GMT, October 11, 2026