UUID Generator
Generate random UUIDs
Generate random UUIDs ブラウザ内でローカルに実行
About the
UUID ジェネレーターは、ブラウザーの暗号的に安全な乱数ジェネレーターを使用して、標準の 8-4-4-4-12 形式 (例: 3f2504e0-4f89-41d3-9a0c-0305e82c3301) でバージョン 4 の普遍的に一意識別子を生成します。バージョン 4 の UUID は 122 のランダム ビットを伝送するため、数十億の識別子間で衝突が発生する可能性は、同じ期間にハードウェア障害が発生する可能性よりもはるかに低くなります。このツールはバッチで生成されるため、20 回クリックすることなく、1 回のパスでフィクスチャ ファイルまたはシード テーブルを埋めることができます。
Where people use the
- フィクスチャ ファイルまたはシード スクリプトに現実的な識別子を入力します。
- API テスト スイートのリクエスト ID を作成します。
- スプレッドシートからインポートされた行の主キーを生成します。
- まだ承認されていないアップロードに対して、推測できないファイル名を生成します。
How to use the
- 1
必要な識別子の数を選択してください
数量は1個から数百個まで設定できます。それぞれは、新しいランダムバイトから独立して生成されます。
- 2
形式を選択してください
ハイフンを含む標準の小文字がデフォルトです。大文字およびハイフンを含まない形式も、それらを必要とするシステムで使用できます。
- 3
生成する
すべての識別子は 1 行に 1 つずつ同時に表示され、ブロックとしてコピーできるようになります。
- 4
コピーしてデータに貼り付けます
コピー ボタンを使用して末尾の空白を避け、SQL、JSON、またはスプレッドシートの列に直接貼り付けます。
ヒントとベストプラクティス
- UUID は、可変長の文字列型ではなくネイティブ UUID 列に格納するため、スペースが節約され、インデックスが高速化されます。
- ソート可能なキーが必要な場合は、ここでバージョン 4 の代わりにコードでバージョン 7 を生成します。
- UUID を解析してそこから何かを導出しないでください。ビットはランダムであり、意味がありません。
よくある質問
これらの識別子は本当にランダムなのでしょうか?
はい。これらは、Math.random ではなく、プラットフォームの暗号的に安全なソースである crypto.getRandomValues から取得されます。その後、バージョンとバリアントのビットが仕様の要求に応じて設定され、122 ビットのランダム性が残ります。
バージョン 4 またはバージョン 7 を使用する必要がありますか?
識別子が完全一致によってのみ検索される場合は、バージョン 4。バージョン 7。それがデータベース内の主キーの場合、そのプレフィックスはタイムスタンプであるため、挿入はインデックス全体に散在して B ツリーを断片化するのではなく、インデックスの末尾近くに留まります。
ここでバージョン 1、3、または 5 を生成できますか?
いいえ。バージョン 1 には MAC アドレスとクロック状態が必要で、バージョン 3 と 5 は名前空間と名前の決定論的ハッシュです。これらはランダムな値ではなく派生値であるため、ランダム ジェネレーターではなくコードに属します。
UUID は URL で公開しても安全ですか?
それは推測できないので便利ですが、推測できないということは認可されたものと同じではありません。推測不可能な識別子をアクセス制御チェックとして扱わないでください。権限を個別に確認してください。
バージョンとバリアントビットとは何ですか?
16 進数の 13 桁はバージョン 4 では 4 に固定されており、RFC 4122 バリアントでは 17 桁は 8、9、a、または b に制限されています。そのため、パターンは常に 8-4-4-4-12 のようになり、第 3 グループに 4 が入ります。
重複について心配する必要はありますか?
実際にはありません。単一の衝突が発生する確率が 50% になるまでに、およそ 2.7 倍の 10 から 18 番目の識別子を生成する必要があります。コストはほとんどかからないため、とにかく列の一意制約を維持してください。