UUID バージョン4 ジェネレーター
UUIDv4 • 暗号学的に安全なランダム
00000000-0000-0000-0000-000000000000
囲み文字:
UUID一括バッチ生成
0 msReady
最大 5,000件
フォーマットと構造設定
準備完了
No batch active1-click copy available on each row
業界デファクトスタンダード•RFC 9562 セクション 5.4 / RFC 4122
UUID バージョン4 技術仕様 (RFC 4122 & RFC 9562)
UUIDv4は世界で最も広く利用されている識別子形式です。合計128ビットのうち、バージョンおよびバリアント情報を除く122ビットが暗号論的ランダムエントロピーで構成されています。
ビットフィールド構成とバイナリ構造
RFC規格に準拠した詳細な128ビットバイト構成。
| フィールド名 | ビット範囲 | 用途と詳細説明 |
|---|---|---|
| random_hi | 48ビット (0-47) | 暗号論的に安全な疑似乱数エントロピー。 |
| ver | 4ビット (48-51) | 固定バイナリ値 0100(バージョン4を識別)。 |
| random_mid | 12ビット (52-63) | 暗号論的に安全な疑似乱数エントロピー。 |
| var | 2ビット (64-65) | 固定バイナリ値 10(RFC標準バリアント)。 |
| random_lo | 62ビット (66-127) | 暗号論的に安全な疑似乱数エントロピー。 |
✓
メリットと利点
- •完全なプライバシー保護:時刻、MACアドレス、ホスト情報を一切露出しません。
- •ほぼすべてのプログラミング言語標準ライブラリおよびDBで標準サポート。
- •推測不能な設計により、IDORや列挙攻撃に対して安全。
!
注意点とトレードオフ
- •ランダム書き込みのため、データベースのB-Treeインデックス性能が低下します。
- •補助カラムなしには時系列順ソートができません。
最適なユースケース
- →APIキー、認証トークン、パスワードリセット用URL、セッション識別子。
- →推測を防止したいユーザー向け識別子。
- →RedisやMemcachedなどの非インデックスキャッシュ。
非推奨のユースケース
- ✕高頻度で書き込まれるデータベースのクラスター化インデックス主キー(UUIDv7を推奨)。
コード実装サンプル
Native Web CryptoJavaScript / TypeScript
// Modern browsers and Node.js 14.17+
const id = crypto.randomUUID();
console.log(id); // e.g. "c9a646d3-9c61-4cc9-bc0c-930438cf38cf"Python Standard LibraryPython
import uuid
id = uuid.uuid4()
print(id) # e.g. "f47ac10b-58cc-4372-a567-0e02b2c3d479"Go (google/uuid)Go
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id.String())
}よくある質問
UUIDv4の衝突確率はどの程度ですか?▼
122ビットのランダム値(約5.3×10^36通り)があるため、毎秒10億個を85年間生成し続けても重複確率は10億分の1未満です。