UUIDジェネレーター
UUID v4は8-4-4-4-12のhexで書式される128ビットのランダム識別子です(例: 550e8400-e29b-41d4-a716-446655440000)。中央の割り当てなしで、データベース主キー、相関ID、ファイル名の一意性に使います。利用可能ならcrypto.getRandomValuesでローカル生成。
UUIDの生成方法
1. 生成をクリックします(対応していれば複数生成)。
2. UUIDをクリップボードにコピーします。
3. APIリクエスト、SQL挿入、または設定に貼ります。
4. DBが大文字小文字を区別するなら、一貫して小文字で保存します。
UUIDの用途
データベース主キー
連番intの代わりにUUIDでユーザーを挿入——列挙なしで公開APIに安全です。
リクエスト相関ID
分散トレーシングログ向けに、HTTP呼び出しごとに新しいUUIDのX-Request-IDヘッダーを追加します。
S3オブジェクトキー接頭辞
uploads/{uuid}/photo.jpg は共有バケットのファイル名衝突を避けます。
UUID v4が合うとき
• 調整なしで分散システムをまたいでIDが一意でなければならないとき。
• IDを公に出すとき——ランダムUUIDは推測に強いです。
• ID衝突なしでオフラインクライアントからのデータをマージするとき。
バージョンニブル
3つ目のハイフンブロックの後の文字がバージョンを示します——4はランダムUUIDです。コードレビューで形式を素早く検証できます。
よくある質問
UUID v4とv1の違いは?
v4はランダム、v1はタイムスタンプとMAC由来のノードを含みます——プライバシーにはv4が好まれます。
衝突確率は?
実用目的では天文学的に低いです——アプリ規模では誕生日のパラドックスは無関係です。
大文字と小文字は?
RFCは両方を許します——プロジェクトごとに1つの慣例を選びます。Postgresのuuid型は正規化します。
ハイフンは必須ですか?
標準形式はハイフンを含みます。一部のシステムはハイフンなしの32 hex文字を受け付けます。
暗号学的に安全ですか?
利用可能ならブラウザのCSPRNGを使い、Math.randomではありません。