UUID インスペクタ (バージョン・バリアント・時刻)
開発
UUID は単なるランダム文字列ではありません — 128 ビットにバージョンとバリアントが符号化され、時刻ベースのバージョンは実際のタイムスタンプを持ちます。このインスペクタは任意の UUID(標準・波括弧・urn:uuid: 形式)を解析して、それが正確に何かを示します:バージョン番号と名前(v1 時刻+ノード、v2 DCE、v3 MD5 名前ベース、v4 ランダム、v5 SHA-1 名前ベース、v6 並べ替え時刻、v7 Unix エポック時刻、v8 カスタム)、およびバリアント(RFC 4122、レガシー NCS、Microsoft)。v1・v6 では 1582-10-15(グレゴリオ暦改革)以降の 60 ビットタイムスタンプを実際の日付に復号し、クロックシーケンスとノードも表示し、ノードが実際のユニキャスト MAC かランダムなマルチキャストアドレスかを示します。v7 では 48 ビットの Unix ミリ秒タイムスタンプを読み取ります。nil と max の UUID も認識します。「いつ作成された?」や「本当に v4?」に素早く答える方法です。すべてローカルで動作し、アップロードされません。
v1/v6 はグレゴリオ暦タイムスタンプ、v7 は Unix-ms タイムスタンプを持ち、v4 はランダムです。バリアントは推測でなくビットから読みます。
使い方
- UUID を貼り付け(ダッシュ・波括弧・urn:uuid: 接頭辞の有無は問わない)。
- バージョンとバリアントを読みます。v1/v6/v7 は生成タイムスタンプが自動復号されます。
- 標準形式やタイムスタンプはコピーボタンを使ってください。
よくある質問
- どのバージョンがタイムスタンプを持ちますか?
- v1 と v6 は 1582-10-15(グレゴリオ暦改革)以降の 100 ナノ秒間隔の 60 ビットカウントを持ち、本ツールが通常の日付に変換します。v7 は最初のビットに 48 ビットの Unix ミリ秒タイムスタンプを持ちます。v3・v4・v5・v8 は復号可能な時刻を持ちません — v4 は完全ランダム、v3/v5 は名前のハッシュ、v8 は実装定義です。
- バージョンはどう決まりますか?
- バージョンは 7 番目のバイトの上位ニブル(3 番目のダッシュグループの最初の 16 進桁)です。バリアントは 9 番目のバイトの上位ビットから来ます:10x は RFC 4122、0xx はレガシー NCS 配置、110x は Microsoft GUID 配置です。どちらもビットから直接読むので正確です。
- ノード/MAC は何を教えますか?
- v1 または v6 UUID では最後の 48 ビットがノードです。古典的な v1 は生成マシンの MAC アドレスを使いました(プライバシー問題)が、現代のライブラリはマルチキャストビットを立てたランダム値を使います。本ツールはノードを表示し、そのマルチキャストビットがランダムノードか実際のユニキャスト MAC かを示します。
- 復号された時刻は信頼できますか?
- UUID に符号化されたそのものなので、生成器の時計が正確で本当に表明どおりのバージョンであれば信頼できます。偽造や手編集された UUID は任意のタイムスタンプを持てるため、時刻は参考であり証拠ではありません。
関連ツール
Base64 ↔ 16進数 変換
Base64 文字列を16進数バイトに、16進数を Base64 に戻します。URL セーフ対応、ブラウザ上で動作します。
Quoted-Printable エンコーダー & デコーダー
テキストを MIME Quoted-Printable(RFC 2045)にエンコード、または復号 — =XX エスケープ・ソフト改行・UTF-8 に対応、エンコード時は 76 文字で折り返し — ブラウザ内で。
ハッシュ生成 (SHA)
テキストから SHA-1・SHA-256・SHA-384・SHA-512 ハッシュを生成。
URL エンコーダー / デコーダー
URL 用にテキストをパーセントエンコード、または URL をデコード。
Base64 エンコーダー / デコーダー
テキストを Base64 にエンコード、または Base64 をテキストにデコード。
JSON フォーマッター & バリデーター
ブラウザで JSON を整形・並べ替え・圧縮・検証できます。