UUID ジェネレーター
端末内で動作し、何も送信されません。すべてお使いの端末上で完結します。入力または生成した内容はどこにも送信されません。
バージョン
完全にランダムで、埋め込み情報はありません。汎用的な一意識別子として最も一般的な選択肢です。大文字/小文字
生成されたUUIDはここに表示されます
v1、v3、v4、v5、v7 の UUID をブラウザ内だけで一括生成・検証します。
UUID(汎用一意識別子)は、IDを配布する中央機関を必要とせずにデータを識別するための128ビットの値です。ランダムに生成された2つのUUIDが衝突する確率は天文学的に低くなっています。このツールは現在も広く使われている4つのUUIDバージョン - v1(タイムスタンプベース)、v3とv5(名前空間と名前から導出される決定的な値)、v4(ランダム)、v7(時系列順で、データベースキーとして人気が高まっている)を生成し、貼り付けた任意のUUIDの検証・デコードもすべてブラウザ内で行えます。
よくある質問
どのUUIDバージョンを使うべきですか?
一般的なIDにはv4を使うのが基本です - ランダムで情報を含みません。UUIDがデータベースの主キーやインデックスになる場合は、時系列順にソートされるv7の方が通常適しており、インデックスを高速に保てます。同じ入力(URLや名前など)から常に同じUUIDを生成したい場合はv5を、IDにタイムスタンプを埋め込む必要が特にある場合のみv1を使用してください。v1は作成時刻が判明する点に注意が必要です。
v3とv5の違いは何ですか?
どちらも決定的で、同じ名前空間と名前からは常に同じUUIDが生成されます。唯一の違いはハッシュ関数で、v3はMD5、v5はSHA-1を使用します。MD5は暗号学的に破られているため、新規システムにはv5が推奨されます。v3は主に古いシステムとの互換性のために存在しています。
なぜv7は時系列順にソートされるのですか?
v7 UUIDはランダムなビットの前に48ビットのUnixミリ秒タイムスタンプを配置しているため、単純な文字列(またはバイト列)として比較すると、先に作成されたものが後に作成されたものより前にソートされます。ランダムなv4 UUIDにはこのような構造がないため、新しいランダム値がキー範囲全体に挿入され、末尾だけでなく分散することでデータベースインデックスが断片化する可能性があります。
ここで生成されるUUIDは暗号学的にランダムですか?
はい。v4、およびv1とv7のランダム部分は、Math.random()ではなく、ブラウザに組み込まれた暗号論的に安全な乱数生成器であるWeb Crypto APIのcrypto.getRandomValuesを使用しています。何もサーバー上で生成されず、どこにも送信されません。
2つのランダムなv4 UUIDが衝突する可能性はどれくらいですか?
天文学的に低いです。v4 UUIDにはランダムな122ビット(残り6ビットはバージョンとバリアントを示すために固定)があり、約5.3 x 10^36通りの値が存在します。100年間、毎秒10億個のUUIDを生成し続けたとしても、衝突が発生する確率は10億分の1未満のままです。だからこそv4は、中央のレジストリを必要とせずに一意な識別子として信頼されています。
UUIDとGUIDは同じものですか?
実質的には同じです - GUID(グローバル一意識別子)は、UUID標準(RFC 4122)で定義されている同じ128ビットの識別子形式に対してMicrosoftが使う名称です。一部の環境では大文字で表記したり中括弧({...})で囲んだりしますが、内部の値と構造は同一なので、ここで生成されたUUIDは有効なGUIDでもあります。