uuid_generate - ライブラリコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- 準拠
- 著者
- 入手方法
- 関連項目
名前
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
の指すメモリ位置に返される。
準拠
著者
入手方法
http://e2fsprogs.sourceforge.net/
関連項目
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする