UUID生成(v4)
ランダムなUUID(バージョン4)を必要な数だけ生成します。データベースのIDや、一意な識別子が必要なときに。
UUID生成について
UUID(Universally Unique Identifier)は、世界中でほぼ重複しないように作られる、128ビットの識別子です。データベースのID、ファイル名、セッションIDなど、一意な識別子が必要な場面で使われます。
このツールは、ランダムなUUID(バージョン4)を、必要な数だけ生成します。大文字・小文字や、ハイフンの有無も選べます。ブラウザの暗号論的乱数生成器を使っているため、重複する確率は、実用上ほとんどありません。
こんなときに使えます
- データベースのテストデータのIDを作る
- システム間で一意なキーを割り当てる
- 開発中に、サンプルのIDが必要なとき
使うときのポイント
- UUIDは、連番ではないので、順序を保証したいときは別の方法を考える
- ハイフンなしの32文字形式も、よく使われる
使い方
- 生成する数を入力します。
- 「計算する」を押すたびに、新しいUUIDが生成されます。
計算方法・仕組み
UUID v4は、ランダムな122ビットで構成される識別子です。ブラウザのcrypto.randomUUID()で生成しています。重複する確率は実用上ほぼゼロです。
知っておきたい基礎知識
UUID(Universally Unique Identifier)は、世界中で重複しないことを期待できる識別子で、128ビットの値を8-4-4-4-12の形の、36文字で表します。データベースの主キーや、ファイル名、セッションIDなど、一意な値が必要な場面で使われます。連番と違い、複数のサーバーが、独立して、生成しても、重複しにくいのが利点です。
バージョン4は、ほぼすべてがランダムな値で、構成されており、重複する確率は、実用上、無視できるほど小さいです。ただし、推測されにくいだけで、秘密の値として使うのは適しません。認証用のトークンには、専用の安全な乱数の仕組みを使い、UUIDは、識別のための値として使うのが、基本です。
間違えやすいポイント
- UUIDは、識別子であって、秘密の値ではない。認証用のトークンの代わりにしない
- データベースの主キーに使うと、連番に比べて、インデックスの効率が下がる場合がある
- 大文字・小文字の表記は、システムによって異なる。比較するときは、そろえる
よくある質問
- 重複する可能性は、ありますか?
- 理論上はありますが、確率は、実用上、無視できるほど小さく、1秒に10億個生成し続けても、重複するまで、数十年かかるとされます。
- v4以外のバージョンは?
- v1は時刻とMACアドレス、v5は名前のハッシュ、v7は時刻順に並ぶ値をもとにしています。このツールは、一般的なv4を生成します。