UUID生成
UUID生成ツールです。データベースの主キーや一意の識別子が必要な場合に、複数のバージョンから選択してUUIDを生成できます。1回の操作で最大100個まで生成可能です。
使い方
このツールについて
RFC 4122 に準拠した UUID(v1 / v3 / v4 / v5 / v6 / v7)をブラウザ内で生成します。サーバーへ送信せず、オフラインでも利用できます。
UUIDのバージョン
• v1: タイムスタンプと MAC アドレスベース。時間順でソート可能。MAC が含まれるためプライバシーに注意。 • v3: MD5 ハッシュ。名前空間と名前から決定論的に生成。同じ入力で同じ UUID。 • v4: 乱数ベース。最も広く利用。予測困難で一般的な用途に推奨。 • v5: SHA-1 ハッシュ。名前空間と名前から決定論的。v3 より推奨。 • v6: タイムスタンプベース(v1 の改良)。時間順ソート可能で、v1 のプライバシー課題を軽減。 • v7: タイムスタンプベース(ミリ秒)。時間順ソート可能。比較的新しい仕様。
使い方
バージョン(v1〜v7)と生成個数を選び、「生成」をクリック。v3 と v5 の場合は名前空間 UUID と名前を入力します。各 UUID はクリックでコピーできます。
オプション
バージョン: v1 / v3 / v4 / v5 / v6 / v7 から選択。v3・v5 のときは名前空間(有効な UUID)と名前が必須。生成数: 1〜100 の整数。
ユースケース
• テストデータやモックの一意キー • データベースの Primary Key・外部キー • ログや分散トレーシングのトレース ID • アップロードファイル名の衝突回避 • API のリソース ID・トークン • キャッシュキー、セッション ID
コード例
1use Illuminate\Support\Str;
2
3$uuid = Str::uuid(); // v41import uuid
2
3# v4(最も一般的)
4uuid.uuid4()
5
6# v1, v3, v5
7uuid.uuid1()
8uuid.uuid3(uuid.NAMESPACE_DNS, "example.com")
9uuid.uuid5(uuid.NAMESPACE_DNS, "example.com")1// ブラウザ・Node 標準 (v4)
2crypto.randomUUID();
3
4// uuid パッケージ (v1, v3, v4, v5, v6, v7)
5import { v4 } from 'uuid';
6v4();プライバシーとデータの扱い
生成はすべてブラウザ内で完結し、入力・生成した UUID をサーバーへ送信しません。
よくある質問
- Q: UUID とは何ですか?
- A: UUID(Universally Unique Identifier)は RFC 4122 で標準化された 128 ビットの識別子です。中央管理なしに時間・空間を超えて一意性を確保できるため、分散システム、DBキー、リソース ID に広く使われています。
- Q: UUID のバージョンの違いは何ですか?
- A: v1はタイムスタンプとMACアドレス、v3/v5は名前ベース(決定論的)でそれぞれMD5・SHA-1を使用、v4はランダムで最も一般的です。v6/v7は時間順にソート可能な新しい形式で、DBの主キーに適しています。
- Q: どのバージョンを使えばいいですか?
- A: 一般的な用途にはv4が最適です。DBの主キーとして使う場合はv7(時間順ソート可能でインデックス効率が高い)が推奨されます。名前と名前空間から決定論的なUUIDが必要な場合はv5を使ってください。
- Q: 生成されたUUIDは本当に一意ですか?
- A: v4 UUIDは122ビットのランダム性を持ち、衝突の確率は天文学的に低いです。このツールはブラウザの暗号論的乱数生成器を使用しています。
- Q: データはサーバーに送信されますか?
- A: いいえ。すべてのUUID生成はブラウザ内で完結します。サーバーへのデータ送信は一切ありません。
