ユニバーサル一意識別子 (英語: Universally Unique 識別子(略称:UUID)は、コンピュータシステムで情報を識別するために使用される128ビットの識別子です。 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 のみになります。
現在のタイムスタンプとマシンの MAC アドレスによって生成されます。MAC アドレスがアルゴリズムで使用されるため、このバージョンの UUID はグローバルな一意性を保証できます。 しかし同時に、コンピュータの MAC アドレスと UUID が生成された時刻が公開されるため、このバージョンの UUID は批判されています。
DCE セキュア UUID のアルゴリズムは時間ベースの UUID と同じですが、タイムスタンプの最初の 4 桁は POSIX UID または GID に置き換えられます。 ただし、UUID 仕様では明示的に指定されていないため、基本的にすべての UUID 実装はこのバージョンを実装しません。
ユーザーは名前空間と特定の文字列を指定し、MD5 ハッシュを使用して UUID を生成します。 仕様の説明によると、このバージョンは下位互換性のために存在しており、ほとんど使用されません。
乱数または擬似乱数に基づいて UUID を生成します。 このバージョンは最もよく使用されるバージョンです。
バージョン 3 と同じですが、ハッシュ関数が SHA1 に変更されています。