UUID
RFC 9562 Universally Unique IDentifiers (UUIDs) 128bit 固有IDっぽいもの
バージョンが判別可能
GUIDはMicrosoft の UUIDの別名?
time-low 32bit
time-mid 16bit
time-high-and-version 16bit
clock-seq-and-reserved 8bit
clock-seq-low 8bit
node 48bit
code:ABNF
UUID = 4hexOctet "-"
2hexOctet "-"
2hexOctet "-"
2hexOctet "-"
6hexOctet
hexOctet = HEXDIG HEXDIG
DIGIT = %x30-39
HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
バイト順はネットワークバイトオーダー(ビッグエンディアン)、ただしGUIDはLittle-Endianを使う。
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
文字列型UUID フォーマットの例
11111000000111010100111110101110011111011110110000010001110100001010011101100101000000001010000011001001000111100110101111110110
バイナリUUIDの例
329800735698586629295641978511506172918
整数UUIDの例
urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
UUIDv1 Macアドレス 仮想化などで一意性が保証されなくなった
UUIDv3 MD5ハッシュ
UUIDv4 ランダム
UUIDv5 SHA-1ハッシュ
UUIDv7
UUIDv8
Namespcae ID
というものがあるよ
example.com などの名前のハッシュ(主にsha-1?)と組み合わせることで共通のUUIDが得られるっぽい
DNS
URL
OID
X500
用の4種類のUUIDがあるらしい
亜種 RFC 9562