🆔 UUIDツール

RFC 4122の全バージョンおよびULIDのような分散システム向けの最新代替をサポートする完全なUUID/GUID生成および検証ツールキット。

UUIDとは何ですか?

UUID(Universally Unique Identifier) は空間と時間を超えてグローバルに一意となるよう設計された標準化された識別子フォーマットです。UUIDは通常32桁の16進数で表され、5つのグループにハイフンで区切られて表示されます:123e4567-e89b-12d3-a456-426614174000。

UUIDはRFC 9562標準(以前のRFC 4122を廃止)で定義されており、中央登録や調整を必要とせずに情報を識別するためにコンピューティングプラットフォーム全体で使用されます。

UUIDフォーマット

すべてのUUIDは36文字(32桁の16進数+4つのハイフン)で構成され、次のパターンで配置されます:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

ここで:

  • x は任意の16進数の数字(0-9、a-f)
  • M はUUIDのバージョン(1-7)を示します
  • N はUUIDのバリアント(通常は8、9、A、またはB)を示します(現代のUUIDの場合)

プライバシーと処理

すべてのUUID生成と検証は、暗号学的に安全な乱数生成を使用してブラウザ内でローカルに行われます。ツールは識別子をどこにも送信せず、すべての処理はデバイス上で行われるため、これらのユーティリティは機密性の高いシステム識別子の取り扱いに安全です。

UUID v4ジェネレーター

システム情報を公開せずにデータベースの主キーやセッショントークンに最適な暗号学的にランダムなUUID v4識別子を生成。

UUID v1ジェネレーター

作成時間とMACアドレスを埋め込んだタイムスタンプベースのUUID v1識別子を生成し、トレーサビリティが必要な分散システム向け。

UUID v3ジェネレーター

名前空間と名前のMD5ハッシュを使用して決定論的なUUID v3識別子を生成し、同じ入力から一貫したIDを作成。

UUID v5ジェネレーター

DNS名やURLからSHA-1ハッシュを使用して安全な名前ベースのUUID v5識別子を作成し、v3より優れた衝突耐性を提供。

UUID v6ジェネレーター

タイムスタンプ順序付けとデータベースインデックス性能の向上を組み合わせた最新のUUID v6識別子を生成。

UUID v7ジェネレーター

ミリ秒精度のUnixエポックタイムスタンプを使用した最先端のUUID v7識別子を作成し、最新の分散システムに対応。

ULIDジェネレーター

URL安全でソート可能なUUIDの代替として26文字のエンコーディングを持つ普遍的に一意で辞書式ソート可能な識別子を生成。

Short UUIDジェネレーター

QRコードやURL向けに長さを36文字から22文字に短縮するbase62エンコーディングを使用したコンパクトなShort UUID識別子を作成。

Nil UUIDジェネレーター

データベース初期化やデフォルト状態のために空またはnull UUID値を表すRFC 4122 Nil UUID(全ゼロ)を生成。

UUIDデコーダー&バリデーター

任意のバージョンのUUIDを解析および検証し、タイムスタンプ、バージョン番号、バリアントの詳細などの埋め込み情報を抽出してデバッグ。

バルクUUIDジェネレーター

データベースのシード、負荷テスト、バルクデータ操作のために数千のUUIDを同時に生成し、エクスポート機能を提供。

UUIDのバージョンと使用例

これらのツールはすべてのRFC標準UUIDバージョンと、分散システム、データベース、URLに適したアプリケーション向けのULIDなどの現代的な代替手段をサポートします。ランダムID、タイムスタンプベースの識別子、またはコンパクトな代替手段が必要な場合でも、適切なUUIDフォーマットがシステムの信頼性のあるスケーリングを保証します。

標準UUID: 異なる用途向けにバージョン1、3、4、5、6、7のRFC準拠識別子を作成します。

現代的な代替手段: 辞書順にソート可能なIDのためのULIDと、コンパクトな用途向けのShort UUIDを生成します。

大量生成: データベースのシードや負荷テストのために数千のUUIDを同時に作成します。

解析ツール: 既存のUUIDをデコードして埋め込まれた情報を抽出し、フォーマット準拠を検証します。

UUIDバージョンの比較

VersionName生成方法Time-ordered使用例
UUID v1Timestamp現在のタイムスタンプ+ノードID(MAC)はい(一部)ログ記録、分散システム
UUID v3名前ベース(MD5)名前空間+名前のMD5ハッシュNo同じ入力に対して一貫したID
UUID v4Randomランダムまたは疑似ランダムな数値No一般用途、最も一般的
UUID v5名前ベース(SHA-1)名前空間+名前のSHA-1ハッシュNoより強力なハッシュによる一貫したID
UUID v6並べ替えられたタイムスタンプソート用に順序付けられたタイムスタンプYesデータベースキー、時間順ソート可能なレコード
UUID v7UnixエポックタイムスタンプUnixタイムスタンプ+ランダムデータYes現代的なソート可能識別子
Nil UUIDゼロUUIDすべてゼロN/A特別な値、未初期化マーカー

UUIDの利点

  • 調整不要: 中央調整なしでIDを生成
  • グローバルな一意性: 衝突確率が極めて低い
  • 固定長: 一貫した36文字の文字列表現
  • Cross-Platform: ほぼすべてのプログラミング言語でサポート
  • Versatile: 用途に応じた異なるバージョン

非標準UUID代替手段

IDタイプDescriptionAdvantagesDisadvantages
GUIDMicrosoftのUUID実装UUIDと機能的に同等古いシステムでのいくつかの実装差異
ULIDUniversally Unique Lexicographically Sortable Identifier辞書順にソート可能、タイムスタンプが先、ケースインセンシティブ新しく、普及度は低い
Snowflake IDTwitterの分散IDシステム時間順ソート可能、コンパクト(64ビット)中央調整が必要
CUID/CUID2衝突耐性のあるID短く、クライアント側生成に適する公式標準ではない
Nano ID小型で安全、URLに適したユニークな文字列IDジェネレーターUUIDより小さく、アルファベットを設定可能標準化されていない
Short UUID標準UUIDの短縮エンコードよりコンパクトな表現標準UUIDとの変換が必要
Nil UUIDすべてのビットがゼロのUUID特別な意味を持つ一意ではない(特別な値として使用)
Minecraft UUIDハイフンありなしのUUID標準UUIDと互換性がありますフォーマットの違いのみ

実用的な用途

  • データベース主キー: 特に分散または複製されたデータベースで
  • 分散システム: 複数システム間のエンティティ識別
  • ウェブアプリケーション: セッション識別子、匿名ユーザーの追跡
  • コンテンツ管理: ドキュメントおよびメディア識別子
  • APIs: トレースおよびデバッグのためのリクエストおよびトランザクション識別子
  • モノのインターネット: 中央登録なしのデバイス識別
  • データ同期: 複数のデータストア間のレコード識別
  • ソフトウェアライセンス: ユニークな製品またはライセンスキー

よくある質問

データはサーバーに送信されますか?

いいえ。すべてのUUID生成と検証はJavaScriptを使用してブラウザ内でローカルに行われます。識別子やデータはデバイスから一切外に出ません。

どのUUIDバージョンを使うべきですか?

一般用途にはUUID v4(ランダム)、タイムスタンプベースにはv1(MACアドレス付き)、現代的なタイムスタンプベースにはv6/v7、名前から決定的に生成するにはv3/v5、ソート可能な代替にはULIDを使用してください。

UUIDは本当に一意ですか?

はい。適切に生成されたUUIDは衝突確率が非常に低く、実用上一意と見なされます。ランダムUUID(v4)は2^122の可能な値があります。

UUIDとULIDの違いは何ですか?

ULIDは26文字(UUIDは36文字)、作成時間で辞書順にソート可能、URL安全でケースインセンシティブでありながら同じ一意性保証を維持します。

これらをデータベースの主キーに使えますか?

はい。UUID v4は分散データベースに最適で、v6/v7はタイムスタンプ順序付けによりデータベースのインデックス性能を向上させます。ULIDも短い長さで同様の利点を提供します。

Resources