開発者やシステム設計向けに、複数バージョン(V1〜V7)の一意の識別子(UUID/GUID)を一括生成します。
完全にランダムに生成される、最も一般的なバージョン。
データベースのレコード、API、分散システム、またはファイルに対してグローバルに一意の識別子(ユニークID)を作成する必要がある場合、手動での作成は競合が発生しやすく、標準規格にも準拠しません。UUID(Universally Unique Identifier)は128ビットの数値からなる文字列で、分散システムにおいて中央の調整なしに一意のIDを生成するために使用されます。本ツールは、V1からV7まで全7種のRFC標準バージョンのUUIDの一括生成に対応しています。時間ベースのV1、乱数ベースのV4、名前空間と名前のハッシュに基づくV3/V5など、バージョンごとに異なる生成アルゴリズムを採用しています。
Q:UUIDのバージョンV4とV1の違いは何ですか?
V4は乱数に基づいて生成され、完全にランダムで衝突確率が極めて低いため、時間的な順序を必要としないほとんどのシナリオに適しています。V1はタイムスタンプ、MACアドレス、シーケンス番号に基づいて生成され、時間的な単調増加を保証できるため、時間順に並べ替える必要があるログやレコードに適していますが、生成元のホスト情報が漏洩する可能性があります。
Q:名前空間(Namespace)とは何ですか?どのような用途がありますか?
名前空間自体もUUIDであり、V3(MD5)またはV5(SHA-1)バージョンのUUIDを生成する際に、「名前」(URLやドメイン名など)と一緒にハッシュ計算を行うために使用されます。これにより、異なる名前空間において同じ名前に対して異なる、しかし決定論的(再現可能)なUUIDを生成できます。例えば、DNS名前空間を使用して「example.com」に対して生成されたV5 UUIDは、いつでもどこで計算しても同じ値になります。
V3またはV5バージョンを使用する場合は、有効な名前空間UUIDと名前文字列を提供する必要があります。カスタム名前空間は標準のUUIDフォーマット(8-4-4-4-12の16進数)である必要があります。V1/V6/V7バージョンでは、タイムスタンプ、ノードID、クロックシーケンスを任意で入力できます。空白のままにした場合は、現在のシステム時間とデフォルト値が使用されます。V3バージョンはMD5ハッシュアルゴリズムに基づいており、SHA-1よりも衝突耐性が弱いため、極めて高いセキュリティが求められるシナリオでは、V5バージョンを優先して使用することをお勧めします。
UUIDのバージョンを選択する際は、一意性、可読性、ソートの必要性、セキュリティを考慮する必要があります。グローバルなランダム性が求められ、ソートの必要がないシナリオ(セッションIDや一時トークンなど)では、V4が最も一般的な選択肢です。同一リソース(ユーザーのメールアドレスなど)に対して永続的かつ検証可能な一意のIDを生成する必要がある場合は、V5バージョンを使用し、名前空間(企業固有のUUIDを使用するなど)を取り決めておく必要があります。典型的な例として、DNS名前空間(6ba7b810-9dad-11d1-80b4-00c04fd430c8)と名前「user@example.com」を使用し、V5アルゴリズムで生成されたUUIDは常に「5df41881-3aed-3515-88a7-2f4a814cf09e」となります。テストデータ用に一括生成する場合、1回の生成上限は100個であることに注意してください。さらに必要な場合は複数回操作を行ってください。