UUID生成
v4ランダムUUIDをまとめて生成。大文字・ハイフンなし・波括弧付きに対応。ブラウザ内で生成。
(1〜100)
UUID v4(ランダム)をブラウザ内で生成します。生成された値は外部に送信されません。
このツールの使い方
- 生成数(1〜100)を指定する
- 必要なら大文字・ハイフンなし・波括弧付きを選ぶ
- 「生成する」を押す
- 各行をタップして個別コピー、または「全部コピー」でまとめて取得
UUIDとは — 構造を理解する
UUID(Universally Unique Identifier)は、中央の採番サーバーを使わずに、各端末が独立して発行しても衝突しないよう設計された128ビットの識別子です。 Microsoft系では GUID とも呼ばれますが、実体は同じものです。表記は32桁の16進数を 8-4-4-4-12 に区切った形式が標準です。
f47ac10b-58cc-4372-a567-0e02b2c3d479
- ・4 の位置(13桁目)がバージョン番号。v4なら 4、v7なら 7 が入ります。
- ・a の位置(17桁目)がバリアントで、通常 8・9・a・b のいずれかになります。
- ・残りの桁が乱数やタイムスタンプなどの実データです。
v1・v4・v7の違いと使い分け
よく使われるのは完全ランダムのv4ですが、データベースの主キーに使うなら、時刻順に並ぶv7を検討する価値があります。
| 種類 | 生成元 | 並び順 | 向いている用途 |
|---|---|---|---|
| v1 | 時刻+MACアドレス | ほぼ時刻順 | レガシー互換。MAC露出に注意 |
| v4 | 乱数(122ビット) | ランダム | 一般的な識別子・APIキー・分散環境 |
| v7 | Unix時刻+乱数 | 時刻順(昇順) | DB主キー。インデックス断片化を抑制 |
v4はランダムのため、主キーにするとB-Tree系インデックスへの挿入位置がばらつき、断片化やキャッシュ効率の低下を招くことがあります。 近年は時刻が先頭に来る v7 が主キー向きとして標準化(RFC 9562)され、注目されています。
衝突(重複)は本当に起きないのか
v4は122ビットの乱数を持ち、組み合わせは約 5.3×1036 通りあります。 目安として10億個のUUIDを毎秒生成し続けても、50%の確率で1回衝突するまでに約85年かかる計算です。 現実的なアプリケーションでは重複を心配する必要はほぼありませんが、乱数の質が低い環境(安全でない乱数源)では衝突リスクが上がるため、 このツールはブラウザ標準の暗号学的乱数(crypto.randomUUID)を使用しています。
言語・DBでの生成例
| JavaScript | crypto.randomUUID() |
| Python | import uuid; uuid.uuid4() |
| Java | java.util.UUID.randomUUID() |
| Go | github.com/google/uuid → uuid.New() |
| PostgreSQL | gen_random_uuid() |
| MySQL 8 | UUID() |
使うときの注意点
- ・推測されて困る値には単体で使わない:v4はランダムですが「秘密のトークン」として設計されたものではありません。パスワードリセット等の秘密鍵には専用の乱数トークンを使ってください。
- ・URLやログに載る前提で扱う:UUID自体に個人情報は含まれませんが、v1はMACアドレスと時刻を含むため、外部公開する識別子には向きません。
- ・DB主キーはv7か、内部連番+外部UUIDの併用を検討:ストレージ効率と分散耐性のバランスを取れます。
関連ツール
- ・ハッシュ生成(SHA):値の指紋を作る
- ・パスワード生成:秘密のトークンはこちら
- ・開発者ツール一覧
広告