UUID v4をワンクリックで生成。一括生成にも対応。API開発やDB設計に。
UUID(Universally Unique Identifier)v4を生成する無料ツールです。データベースの主キー、セッションID、一時ファイル名など、グローバルに一意な識別子が必要な場面で使います。
UUIDは128ビットの識別子で、「550e8400-e29b-41d4-a716-446655440000」のような形式です。v4 UUIDは暗号学的に安全な乱数に基づいて生成されるため、重複する確率は天文学的に低く(2^122の組み合わせ)、事実上一意とみなせます。
1個から100個まで一括生成に対応しています。生成されたUUIDはハイフンあり・なしの両形式でコピーできます。テストデータの作成や、マイグレーションスクリプトでの大量ID生成に便利です。
UUID(Universally Unique Identifier、汎用一意識別子)とは、128ビットの一意な識別子です。中央集権的な発番サーバーを介さずに、それぞれのシステムが独立して、ほぼ重複しない識別子を生成できるように設計されています。RFC 4122(およびその後継規格)で標準化されており、IETFやITU-Tによって仕様が定められています。
UUIDは128ビット(16バイト)を16進数で表現し、一般的に「8-4-4-4-12」のハイフン区切りで記述されます。つまり、ハイフンを含めて合計36文字(16進数32文字+ハイフン4個)になります。例として「550e8400-e29b-41d4-a716-446655440000」のような形です。各文字は0〜9とa〜fのいずれかで、大文字・小文字どちらで書いても同じ値を表します。
UUIDには複数のバージョンがあり、生成方法が異なります。なかでもバージョン4(v4)は、ほぼ全ビットを乱数で埋める方式で、現在もっとも広く使われています。本ツールはブラウザ標準のcrypto.randomUUIDを用いており、生成されるのはこのv4 UUIDです。crypto.randomUUIDは暗号学的に安全な乱数源を使うため、推測されにくい一意なIDが得られます。
UUIDの文字列の中には、バージョンとバリアント(種別)を示す位置が決まっています。第3グループの先頭1桁はバージョン番号を表し、v4なら必ず「4」になります。第4グループの先頭1桁はバリアントを表し、RFC準拠のUUIDでは8・9・a・bのいずれかになります。下表はv4の形式(xを任意の16進、yを8/9/a/bのいずれか)と、代表的なバージョンの特徴をまとめたものです。
| バージョン | 生成方式 | 特徴・用途 |
|---|---|---|
| v1 | 時刻+MACアドレスベース | 生成時刻順にソートしやすいが、MACアドレスを含みうる |
| v3 | 名前ベース(MD5ハッシュ) | 同じ名前空間+名前から常に同じUUIDを生成 |
| v4 | ランダム(乱数) | もっとも一般的。本ツールが生成するバージョン |
| v5 | 名前ベース(SHA-1ハッシュ) | v3と同様の名前ベース。ハッシュがより堅牢 |
| v7 | Unix時刻+ランダム | 時刻順ソートと一意性を両立した比較的新しい方式 |
v4の形式を表記の型で示すと「xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx」となります。「4」がバージョン4を、「y」がバリアント(8・9・a・bのいずれか)を表す固定位置です。これらの固定ビットを除いた約122ビットが乱数となるため、組み合わせは約2の122乗にのぼります。