UUIDジェネレーター
v4とv7フォーマットでUUIDを生成、検証、検査。一度に最大100個まで一括生成。
このツールについて
新しいマイクロサービスを構築するとき、データベースやリージョン、チームを またいで衝突しないプライマリキーが必要になります。中央のIDサーバーなしで それを実現するのがUUIDであり、このツールはブラウザ内で即座にUUIDを生成します。
2つのバージョンに対応しています:バージョン4(ランダム)と
バージョン7(時間順序付き)。UUID v4はcrypto.getRandomValues()
から122ビットのランダム値を取得します。衝突確率はどの程度か?
2.71 x 10^18個(271京個)のUUIDを生成して初めて、1件の重複が50%の
確率で発生する計算です。UUID v7は最上位ビットに48ビットのUnixミリ秒
タイムスタンプを埋め込み、自然な時系列順序を持たせます。B-tree
インデックスを使ったデータベースのプライマリキーに最適です。
埋め込みタイムスタンプはタイムスタンプ変換ツール
で変換できます。
単一のUUIDを生成するか、5・10・50・100個を一括生成できます。個別コピー、 全件コピー、テキストファイルとしてダウンロードが可能です。検証 セクションでは文字列を貼り付けて有効性とバージョンを確認できます。 v7 UUIDの場合は埋め込みタイムスタンプも抽出・表示されます。
生成にはWeb Crypto APIを使用し、すべてクライアントサイドで実行されます。 UUIDがサーバーに送信・保存されることはありません。コンテンツ由来の 識別子が必要な場合はハッシュジェネレーターや パスワードジェネレーターもご覧ください。
使い方
- 上部のバッジを使用してUUID v4またはUUID v7を選択します。
- 生成ボタン(1、5、10、50、100)をクリックしてUUIDを作成します。
- 任意のUUIDにホバーしてコピーアイコンをクリックしてコピーします。一括エクスポートにはすべてコピーまたはダウンロードを使用します。
- UUIDを検証するには、UUIDを検証入力に貼り付けます。有効かどうかとバージョンが表示されます。
- Ctrl+Shift+Cで生成されたすべてのUUIDをコピーします。
このツールについて
よくある質問
UUID v4とv7の違いは何ですか?
UUID v4は純粋にランダムです(122ビットのランダムビット)。UUID v7は最初の48ビットにミリ秒精度のタイムスタンプをエンコードし、その後にランダムビットが続きます。v7 UUIDは時系列でソートされるため、データベースインデックスに適しています。
UUIDは衝突しますか?
理論上はあり得ます。UUID v4は122ビットのランダムビットを持ち、誕生日パラドックスにより1件の衝突が50%の確率で発生するには約2.71 x 10^18個(271京個)のUUIDが必要です。実用上は無視できる確率です。
これらのUUIDは暗号学的に安全ですか?
ランダムバイトは暗号学的に安全な乱数生成器であるcrypto.getRandomValues()を使用して生成されます。ただし、UUIDは秘密トークンとして設計されていません。そのような目的には専用のトークンジェネレーターを使用してください。
UUID v7はいつ使うべきですか?
UUIDがデータベースのプライマリキーとして使用される場合、特にB-treeインデックスでv7を使用してください。v7の時間順序付きの性質により、ランダムなv4 UUIDと比較してインデックスの断片化が減り、インサートパフォーマンスが向上します。
データは安全ですか?
はい。UUIDはブラウザのWeb Crypto API(crypto.getRandomValues())で生成されます。ネットワークリクエストは発生しません。ブラウザのDevToolsのネットワークタブで確認できます。