CalquioCalquio

検索

計算ツールを検索

UUIDジェネレーター

ランダムなUUID(v1、v4、v7)を生成。アプリケーション用の一意識別子を作成。

コードサンプル
// Native crypto API (UUID v4)
const uuid = crypto.randomUUID();
// Using uuid library
// npm install uuid
import { v4 as uuidv4, v1 as uuidv1 } from 'uuid';
const id = uuidv4(); // Random
const id1 = uuidv1(); // Time-based

関連ツール

UUIDとは?

UUID(Universally Unique Identifier)はデジタル指紋のようなもので、すべてのコンピュータ、すべての時間、宇宙のどこでも一意であることが事実上保証された128ビットの数値です。

こんな形式です: 550e8400-e29b-41d4-a716-446655440000

なぜ必要なの?

  • 中央機関なしで一意のIDを作成できる
  • ID競合なしでデータベースをマージできる
  • オフラインでIDを生成しても、同期時に一意性を保つ
  • 分散システム全体でオブジェクトを追跡

UUIDはデータの「ナンバープレート」のようなもの - それぞれが一意で、作成に誰の許可も必要ありません。

UUIDバージョン解説

バージョン基準最適な用途
v1タイムスタンプ + MACアドレス時間順レコード
v4乱数最も一般的、汎用
v5名前空間 + 名前 (SHA-1)名前から再現可能なID
v7タイムスタンプ + 乱数 (新!)DB向け、ソート可能

バージョン4(ランダム)- 最も人気

f47ac10b-58cc-4372-a567-0e02b2c3d479
         ↑
    "4" はバージョン4を示す

暗号学的に安全な乱数を使用。衝突の可能性は天文学的に低いです。

UUIDはどれほど一意か?

🎲 一意性の数学

UUID v4には122ビットのランダムビットがあり、2^122の組み合わせが可能: 5,316,911,983,139,663,491,615,228,241,121,400,000 個の一意のUUID

50%の確率で衝突するには:

  • 2.71 × 10^18 個のUUIDを生成
  • 毎秒10億個生成しても86年かかる!

実用的な目的では、UUID v4は一意として扱えます。調整不要、データベース検索不要 - 生成して使うだけ!

UUIDの構造

8-4-4-4-12 フォーマット

  • 32個の16進文字
  • ハイフンで区切られた5グループ
  • 合計128ビット

バージョン表示 13番目の文字がバージョンを示します:

  • 1 = 時間ベース (v1)
  • 4 = ランダム (v4)
  • 7 = Unixタイムスタンプ (v7)

UUIDを使うべき場面

✅ 最適な用途:

  • データベースの主キー(特に分散システム)
  • APIリソース識別子
  • セッショントークン
  • アップロードファイル名
  • マイクロサービス間のトラッキングID

⚠️ 代替を検討すべき場合:

  • 人間が読めるIDが必要な場合
  • ストレージ容量が重要な場合(UUIDは16バイト)
  • 厳密に連番が必要な場合
  • URLの見た目が重要な場合

セキュリティ注意: UUIDをシークレットトークンとして使用しないでください!一意ですが、必ずしも予測不可能ではありません(特にv1)。認証トークンには暗号学的に安全なランダム文字列を使用してください。