処理結果

UUID の概要

UUID 定義

ユニバーサル一意識別子 (英語: Universally Unique 識別子(略称:UUID)は、コンピュータシステムで情報を識別するために使用される128ビットの識別子です。 UUID が標準的な方法に従って生成される場合、UUID は実際のアプリケーションにおいて一意であり、中央機関による登録や割り当てに依存しません。 UUID が重複する可能性はゼロに近いため、無視できます。

その結果、誰でも独自の UUID を作成して使用できるようになり、既存の識別子と重複しないことがほぼ確実になります。 このため、異なる場所で生成された UUID を同じデータベースまたは同じチャネルで使用でき、それらを繰り返すことはほとんど不可能です。

UUID バージョンの概要

標準形式:

UUID の形式は次のとおりです: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx。 N は 8、9、a、b の 1 つだけです。 M はバージョン番号を表します。UUID の標準実装には 5 つのバージョンがあるため、1、2、3、4、5 のみになります。

バージョン 1: 時間ベースの UUID

現在のタイムスタンプとマシンの MAC アドレスによって生成されます。MAC アドレスがアルゴリズムで使用されるため、このバージョンの UUID はグローバルな一意性を保証できます。 しかし同時に、コンピュータの MAC アドレスと UUID が生成された時刻が公開されるため、このバージョンの UUID は批判されています。

バージョン 2: DCE セキュア UUID

DCE セキュア UUID のアルゴリズムは時間ベースの UUID と同じですが、タイムスタンプの最初の 4 桁は POSIX UID または GID に置き換えられます。 ただし、UUID 仕様では明示的に指定されていないため、基本的にすべての UUID 実装はこのバージョンを実装しません。

バージョン 3: 名前空間ベースの UUID (MD5)

ユーザーは名前空間と特定の文字列を指定し、MD5 ハッシュを使用して UUID を生成します。 仕様の説明によると、このバージョンは下位互換性のために存在しており、ほとんど使用されません。

バージョン 4: 乱数ベースの UUID

乱数または擬似乱数に基づいて UUID を生成します。 このバージョンは最もよく使用されるバージョンです。

バージョン 5: 名前空間ベースの UUID (SHA1)

バージョン 3 と同じですが、ハッシュ関数が SHA1 に変更されています。