> uuid | guid | 生成 <

// ユニバーサル一意識別子(UUID/GUID)を即座に生成

[安全]

暗号学的乱数

UUID v4はcrypto.getRandomValues()を使用して暗号学的に安全な乱数生成を行います。データはブラウザから離れません。

[一括]

バッチ生成

一度に最大100個のUUIDを生成。データベースシーディング、テスト、開発ワークフローに最適。

[無料]

複数バージョン

UUID v4(ランダム)とv1(タイムスタンプ)をサポート。用途に合わせてバージョンを選択。

// UUID生成について

UUIDの仕組み:

UUID(Universally Unique Identifier)はRFC 4122で標準化された128ビットの識別子です。UUID v4は122のランダムビットを使用し、2^122の可能な値を提供します。36文字の形式はバージョンとバリアントビットが埋め込まれた8-4-4-4-12パターンに従います。

例:

550e8400-e29b-41d4-a716-446655440000

一般的な使用例:

  • >データベースの主キーとレコード識別子
  • >中央調整なしの分散システム
  • >セッショントークンと相関ID
  • >ファイル命名とリソース識別
  • >APIリクエストの追跡とロギング

>> よくある質問

Q: UUIDとは何ですか?

A: UUID(Universally Unique Identifier)は、コンピュータシステムで情報を一意に識別するために使用される128ビットの数値です。GUID(Globally Unique Identifier)としても知られています。標準形式はハイフンで区切られた8-4-4-4-12の16進文字です。

Q: UUID v4とv1の違いは何ですか?

A: UUID v4は乱数を使用して生成され、最も一般的に使用されるバージョンです。UUID v1は現在のタイムスタンプとノード識別子に基づいています。V4はシンプルさとプライバシーの点からほとんどのアプリケーションで推奨されます。

Q: UUIDの衝突確率はどのくらいですか?

A: UUID v4には122のランダムビットがあり、2^122(約5.3 x 10^36)の可能な値があります。重複を生成する確率は天文学的に低いです。

Q: UUIDとGUIDの違いは何ですか?

A: UUIDとGUIDは本質的に同じものです。UUIDはほとんどの標準で使用される用語で、GUIDはMicrosoft技術で一般的に使用される用語です。

Q: RFC 4122とは何ですか?

A: RFC 4122はUUID形式、生成アルゴリズム、名前空間規則を定義するインターネット標準です。5つのUUIDバージョン(v1からv5)を規定しています。

// 特別なUUID値

これらの固定値はRFC 9562で定義されています。

UUID意味
00000000-0000-0000-0000-000000000000Nil UUID(全ビット0)
ffffffff-ffff-ffff-ffff-ffffffffffffMax UUID(全ビット1)
6ba7b810-9dad-11d1-80b4-00c04fd430c8DNS名前空間(v3/v5用)

// コードでUUIDを生成

JavaScript   crypto.randomUUID()
Python       str(uuid.uuid4())
PHP          Ramsey\Uuid\Uuid::uuid4()->toString()
Go           uuid.NewString()
Java         UUID.randomUUID()
C# / .NET    Guid.NewGuid()
PostgreSQL   gen_random_uuid()
MySQL        UUID()
Bash         uuidgen

>> その他の質問

Q: 主キーにはUUID v4とv7のどちらを使うべきですか?

A: v7は先頭にタイムスタンプがあるため、作成時刻順におおよそソートでき、B-treeインデックスへ効率よく挿入されます。v4は完全にランダムで、大きなテーブルでは挿入位置が散らばります。順序やインデックス性能が重要ならv7、IDから時刻を推測されたくないならv4を選びます。

Q: UUIDをデータベースに保存する最善の方法は?

A: ネイティブ型があればそれを使います(PostgreSQLの uuid など)。ない場合は CHAR(36) より BINARY(16) が望ましく、容量が半分以下になり、比較やインデックスも高速になります。

Q: UUID v4が重複する確率はどのくらいですか?

A: UUID v4には122ビットのランダム値があります。毎秒10億個を100年間生成しても、乱数生成器が暗号学的に良質であれば衝突確率は10億分の1よりはるかに小さくなります。

// 他の言語