検証と内部情報
UUID アナライザー
UUID を貼り付けると、バージョン、バリアント、埋め込まれたタイムスタンプ、エントロピー、v1 識別子からマシンを特定し得るノードフィールドを確認できます。
フィールドの内訳
各バイトを 16 進数で表示します。
詳細
同等の形式
同じ 128 ビットを別の形式で表します。特定の表現を必要とするシステムで便利です。
リファレンス
各情報の位置
UUID は 128 ビットで、ハイフンで区切られた 5 つのグループで表されます。意味を持つグループはバージョンによって異なり、同じ 36 文字でも v4 では不透明、v1 では多くの情報を含む場合があります。
time_low
ビット 0–31v1 ではタイムスタンプの下位ビット、v4 ではランダムです。
time_mid
ビット 32–47v1 タイムスタンプの中位ビットです。
time_high / version
ビット 48–59 + 4バージョンニブルはオクテット 6 の上位 4 ビット(13 文字目)にあります。
clock_seq
ビット 60–73ノードごとにランダムで、タイムスタンプの重複を防ぎます。
node
ビット 74–127v1 のマシン識別子で、以前は MAC アドレスでした。これが v1 が情報を漏らす理由です。
variant
ビット オクテット 8 の上位 2~3 ビット10 は RFC 9562 を示します。それ以外は旧式または予約済みです。
| フィールド | ビット | 意味 |
|---|---|---|
| time_low | 0–31 | v1 ではタイムスタンプの下位ビット、v4 ではランダムです。 |
| time_mid | 32–47 | v1 タイムスタンプの中位ビットです。 |
| time_high / version | 48–59 + 4 | バージョンニブルはオクテット 6 の上位 4 ビット(13 文字目)にあります。 |
| clock_seq | 60–73 | ノードごとにランダムで、タイムスタンプの重複を防ぎます。 |
| node | 74–127 | v1 のマシン識別子で、以前は MAC アドレスでした。これが v1 が情報を漏らす理由です。 |
| variant | オクテット 8 の上位 2~3 ビット | 10 は RFC 9562 を示します。それ以外は旧式または予約済みです。 |
v1 が情報を漏らす理由
ノードフィールドにはハードウェアアドレスが含まれる場合があります。同じマシンの v1 UUID はこの値を共有することがあり、相互の関連付けやマシンの特定につながる可能性があります。アナライザーではこのフィールドを明示します。
v7 が作られた理由
先頭に 48 ビットのミリ秒タイムスタンプがあるため、UUID は生成順に並びます。行を挿入するときに B-tree インデックスの順序を保ちやすくなります。
v3 ではなく v5 を使う理由
どちらも名前ベースで決定論的です。v3 は現在安全とは見なされない MD5 を使用し、v5 は SHA-1 を使用する名前ベース UUID の現代的な選択肢です。