識別子・認証LOCALブラウザ内で処理
MongoDB ObjectId タイムスタンプデコーダー
12 バイトの MongoDB ObjectId から作成タイムスタンプを読み取り、残りのバイトは生の 16 進数として表示します。すべてブラウザ内で処理。
入力と主要な処理をブラウザ内で行い、その入力内容をQuickKitサーバーへ送信しない設計です。
デコード結果
| 作成タイムスタンプ(UTC) | — |
|---|---|
| タイムスタンプ(Unix 秒) | — |
| タイムスタンプ(Unix ミリ秒) | — |
| タイムスタンプバイト(16 進) | — |
| 5〜9 バイト目(16 進) | — |
| カウンターバイト(16 進) | — |
| カウンター(10 進) | — |
| 正規化した ObjectId | — |
仕組みと使い方
MongoDB の ObjectId は 12 バイトで、24 桁の 16 進数として表示されます。先頭 4 バイトは Unix エポックからの秒数(ビッグエンディアン)で、ドキュメントの作成時刻です。これは `ObjectId.getTimestamp()` が返す値と同じです。このツールはそのタイムスタンプをデコードし、残りのバイトは生の 16 進数としてのみ表示します。現行の ObjectId 形式(MongoDB 3.4 以降)では 5〜9 バイト目はマシン・プロセスごとのランダム値、10〜12 バイト目はビッグエンディアンのカウンターです。3.4 より前は 3 バイトのマシン識別子・2 バイトのプロセス ID・3 バイトのカウンターでした。この中間部分は互換性がないため、5〜9 バイト目は意味ではなく位置で表示し、ホスト・プロセス・ユーザーには結び付けません。裸の ID または `ObjectId("…")` 形式を貼り付けてください。カウンターバイトからプロセスをまたぐ挿入順は復元できず、秒単位のタイムスタンプは正確な挿入時刻ではありません。