Web Toolkit

UUID ジェネレーター

暗号論的に安全な乱数から UUID v4 をまとめて生成します。

UUID v4

5
生成結果0 文字
0 個の識別子 · crypto.getRandomValues で生成

設計段階からプライバシー重視。 UUID は Web Crypto API でローカルに生成されます。送信も記録もされません。

よくある質問

UUID v4 とは何ですか?

128 ビットの識別子で、そのうち 122 ビットがランダムに生成されます。中央での調整が不要なため、多数のマシンが独立して ID を作る用途に向いています。

これらの UUID を本番環境で使っても大丈夫ですか?

はい。Web Crypto API 由来で、暗号論的に安全な乱数源なので、値は予測できません。

2 つの UUID が衝突することはありますか?

理論上はありますが、実務上はありません。毎秒 10 億個の UUID を 1 世紀生成し続けても、1 回衝突する確率は無視できます。

UUID をデータベースの主キーに使うべきですか?

動作はしますが、ランダムな UUID は挿入位置がばらけるため B-tree インデックスを断片化させます。書き込み量が多い場合は UUID v7 やソート可能な ID 方式を検討してください。

UUID ジェネレーターについて

バージョン 4 の UUID は 128 ビットで、そのうち 122 ビットがランダム、6 ビットが固定のバージョンとバリアントの識別子です。16 進数 32 桁を 8-4-4-4-12 のパターンで表記します。

乱数は crypto.getRandomValues から得ています。これは鍵素材の生成にも使われる暗号論的に安全な乱数源であり、Math.random ではありません。衝突確率は無視できるほど小さく、重複が起こりうるようになるには 10^18 個規模の識別子が必要です。

データベースの列を詰めたいときはハイフンなしを、Microsoft 形式の GUID に合わせたいときは大文字を使ってください。

関連ツール