ログやURLで見つけたUUIDを解析する
36文字の文字列にはバージョン、時にはタイムスタンプやMACが入っています。手にしている識別子が何なのかを読み解く方法です。
このガイドで使う道具
やりたいこと
URLやログのUUIDはランダムなノイズではありません。形式がどのバージョンで生成されたかを教え、時刻ベースのものは発行時刻を漏らします。イベントの相関付けやIDの推測可能性の確認に重要です。
解析方法
UUIDを貼ります。ハイフン・波括弧・urn:uuid:プレフィックスも受理します。ツールはバージョン(1、3、4、5、6、7、またはnil/maxの特殊値)・バリアントを示し、v1/v6/v7では埋め込み時刻をISO時刻として、あればclock-seqとnodeも表示します。
具体例
550e8400-e29b-41d4-a716-446655440000はバージョン4・RFC 4122バリアントで、埋め込みデータの無いランダムIDです。6ba7b810-9dad-11d1-80b4-00c04fd430c8はバージョン1で、1998-02-04の時刻とnodeフィールドを持ち、今ではなく発行時に生成されたものです。
- v4=ランダム。APIで最も一般的。
- v1/v6=時刻+node(多くはMAC由来)。
- v7=Unixミリ秒時刻。ソート可能で、現代的なDBキーの既定。
対応範囲
nodeフィールドはhex表示でハードウェア特定はしません。最近のv1生成器は多くがランダムなマルチキャストnodeを使います。非RFCバリアントとnil/maxは通常値として解析せず、その旨を表示します。