UUID 生成
暗号論的に安全な乱数で、ランダムなv4や時刻順に並ぶv7のUUIDを作り、ワンクリックでまとめてコピーできます。
このツールを自分のサイトに埋め込む
コードをコピーしてページのHTMLに貼り付けてください。無料です。クレジットのリンクは残してください。
UUIDの作り方
どちらのバージョンも、ブラウザに組み込まれた暗号論的に安全な乱数生成器 crypto.getRandomValues を使っています。バージョン7は先頭48ビットを現在のUnix時間(ミリ秒)に置き換えたものです。どちらも4ビットでバージョン、2ビットでバリアントを示し、RFC 9562(2024年、RFC 4122の後継)のとおりに作っています。
v4とv7の違い
| UUID v4 | UUID v7 | |
|---|---|---|
| 中身 | ランダムな122ビット | ミリ秒単位のUnix時刻+ランダムな74ビット |
| 並び順 | ランダム | 生成した順 |
| DBのインデックス | 挿入位置がばらばらになる | 連番IDのように末尾に追加される |
| わかる情報 | なし | 生成日時 |
よくある質問
UUIDが重複することはある?
理論上はありえますが、実際には起きません。v4のUUIDはランダムな122ビットで、1個でも重複する確率が50%になるには約270京個(2.7 × 10¹⁸)作る必要があります。
DBの主キーにはv4とv7のどちら?
主キーには一般にv7が向いています。先頭がタイムスタンプなので、連番IDと同じく新しい行がインデックスの末尾に入り、挿入が速いままです。生成日時を知られたくないIDにはv4を使います。
UUIDとGUIDの違いは?
実質的に同じものです。GUIDはMicrosoftでの呼び名で、{3F2504E0-4F89-41D3-9A0C-0305E82C3301} のように大文字・波括弧で書かれることが多いだけです。
貼り付けた内容はサーバーに送られる?
送られません。このツールはJavaScriptとブラウザ内蔵のWeb Crypto APIだけで、すべて端末の中で動きます。入力・貼り付け・読み込んだ内容がアップロードや保存されることはありません。