名前空間 UUID と名前から UUID v5 識別子を生成します。どちらの値もサーバーには送信されません。UUID v5 は、ドメイン名、URL、オブジェクトパス、アカウントハンドル、フィクスチャレコードの ID など、同じ入力から後で再作成できる安定した識別子が必要な場合に役立ちます。
UUID v5 の仕組み
UUID v5 は、名前空間 UUID と名前文字列を組み合わせ、そのバイト列を SHA-1 でハッシュしてから、RFC 4122 のバージョンビットとバリアントビットを適用します。入力は決定的であるため、DNS 名前空間内の example.com は常に同じ UUID cfbff0d1-9375-5685-968c-48ce8b15ae17 を生成します。
名前空間の選び方
ドメイン名には ns:DNS、URL には ns:URL、オブジェクト識別子には ns:OID、X.500 識別名には ns:X.500 DN を使用します。アプリケーションで、製品、テナント、データセット、または移行にスコープされた識別子が必要な場合は、独自の UUID 名前空間を貼り付けることもできます。
使用する場面
ランダム性よりも再現性が重要な場合は、UUID v5 を選択します。決定的なインポート、テストフィクスチャ、名前空間付きレコード、同じ論理アイテムに実行ごとに同じ ID を割り当てる必要があるシステムに適しています。秘密トークンや予測困難な公開 ID には、代わりにランダムジェネレーターを使用してください。