UUID バージョン 5 ジェネレーター (SHA-1 名前ベース)

名前空間と名前を使い SHA-1 ハッシュで一貫した UUID を生成

名前空間設定SHA-1

バージョンv3およびv5のUUIDは、決定論的UUIDを生成するために名前空間と名前が必要です。

有効なUUIDである必要があります。ドロップダウンから事前定義された名前空間を選択してください。
UUIDを作成するためにハッシュ化される任意のテキスト文字列です。

これらの例を試してください:

UUID v5とは?

UUIDバージョン5 はRFC 4122で定義された名前空間ベースの128ビット識別子(36文字の文字列)です。以下を組み合わせています:

  • 名前空間UUID: 生成のスコープを定義する事前定義またはカスタムUUID
  • Name: 名前空間内のユーザー定義文字列値
  • SHA-1ハッシュ: 結果を生成するために使用される暗号アルゴリズム

フォーマット例: 2ed6657d-e927-5eb1-9a03-0242ac130003

UUID v5の動作方法

  1. 名前空間UUIDを選択する(事前定義またはカスタム)
  2. 名前空間UUIDと名前文字列を連結する
  3. 連結された値のSHA-1ハッシュを計算する
  4. バージョンビット(0101)とバリアントビット(10)を設定する
  5. 32桁の16進数をハイフンで区切って組み立てる:8-4-4-4-12形式

利点と考慮事項

AdvantagesConsiderations
  • 決定論的(同じ入力は同じUUIDを生成)
  • 名前空間付き組織
  • ネットワークや時間の依存なし
  • プライバシーの懸念なし(MACアドレスなし)
  • 時間順ではない
  • 同じ入力は常に同じUUIDを生成
  • 名前空間の選択が一意性に影響
  • SHA-1には既知の暗号的弱点がある

UUID v5の構造

BitsContent
0-47SHA-1ハッシュの最初の48ビット
48-51バージョン(v5の場合は0101)
52-63SHA-1ハッシュの次の12ビット
64-65バリアント(RFC4122の場合は10)
66-127SHA-1ハッシュの残りの62ビット

UUID v5と他のバージョンの比較

Versionベースとなるもの使用例Privacy
UUID v1時間 + MAC時間順ID⚠️ MACを公開
UUID v3名前空間 + MD5決定論的ID✅ プライベート
UUID v4Random安全なランダムID✅ プライベート
UUID v5名前空間 + SHA-1決定論的ID✅ プライベート
UUID v6時間(再配置)ソート可能なID⚠️ MACを公開
UUID v7時間 + ランダムソート可能なID✅ プライベート

事前定義された名前空間

NamespaceUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8ドメイン名用
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8URL用
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8ISO OID用
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8X.500識別名用

一般的な使用例

  • コンテンツアドレッシング: 同一コンテンツに対して一貫したID
  • 分散システム: システム間の名前付きリソース
  • URLマッピング: URLを安定した識別子に変換
  • 構成管理: 名前付き構成アイテムの追跡
  • データ重複排除: 同一レコードの識別
  • Federation: システム間で一貫した識別子

よくある質問

UUID v5はUUID v3より優れているか?

はい、ほとんどの使用例でそうです。UUID v5はSHA-1を使用しており、UUID v3で使用されるMD5アルゴリズムより暗号的に強力です。ただし、両者とも決定論的生成を提供します。

UUID v5の値が衝突することはありますか?

理論的には衝突の可能性はありますが、SHA-1の特性により実際には極めて稀です。異なる名前空間や名前文字列を使用することで、衝突リスクはほぼ排除されます。

UUID v5に対してSHA-1は十分に安全ですか?

UUIDの目的では、SHA-1は暗号的弱点があっても適切です。UUID v5はセキュリティ目的ではなく、一貫した識別子を生成するためのものです。

UUID v5用に独自の名前空間を作成できますか?

はい。RFC 4122は標準名前空間(DNS、URL、OID、X.500)を定義していますが、有効なUUID(通常はv4のランダムUUID)を使用してカスタム名前空間を作成できます。

同じ名前は常に同じUUID v5を生成しますか?

はい、ただし同じ名前空間内でのみです。異なる名前空間では同じ名前でも異なるUUIDが生成され、識別子の整理に重要な特徴です。

Resources