使い方
- 秘密鍵otpauth:// URI
秘密鍵(Base32)を入れる
- 6 桁のコードステップごとに更新
時刻からコードを計算
- QR 画像(PNG)RFC の値と照合
QR や値で確かめる
「サンプルで試す」を押すか、Base32 の秘密鍵を入力します(「ランダム生成」で新しい鍵も作れます)。
TOTP か HOTP、アルゴリズム(SHA-1 / SHA-256 / SHA-512)、桁数、更新間隔(HOTP はカウンター)を、確認したいサービスの設定に合わせます。
現在のコードと残り秒数が表示されます。「前後のずれ」を増やすと、前後の時間ステップのコードも並べて見られます。
otpauth:// URI と QR コードは「秘密鍵を表示」を押したときだけ表示されます。URI のコピーや QR 画像の保存もできます。
既存の otpauth:// URI を貼り付けるか QR 画像を読み込むと、発行者・アカウント・アルゴリズム・桁数・間隔が入力欄に反映されます。
「RFC のテストベクトルで確認」で、このツールの計算が RFC 4226 / 6238 の公式の値と一致するか確かめられます。
できること
RFC のテストベクトルでその場で自己確認
RFC 4226 付録 D の HOTP(カウンター 0〜9)と、RFC 6238 付録 B の TOTP(SHA-1 / SHA-256 / SHA-512 × 6 時点)の合計 28 件を、このブラウザ上で計算して公式の値と照合します。
時間のずれを見える化
残り秒数と、前後 ±5 ステップまでのコードを一覧表示。端末の時計が進んでいる・遅れているときに、どのステップのコードが相手と一致するかを探せます。時刻は Unix 秒で指定することもできます。
otpauth:// の作成と読み取り
発行者・アカウント・アルゴリズム・桁数・間隔(HOTP はカウンター)から URI と QR コードを作り、PNG で保存できます。既存の URI や QR 画像からは中身を項目ごとに読み取ります。
秘密鍵を端末の外に出さない作り
秘密鍵は初期状態で伏せ字です。入力・計算はすべてブラウザ内(Web Crypto の HMAC)で行い、送信・URL への記録・ブラウザへの保存はしません。計測にも鍵や URI の内容は含めません。
Google Authenticator の移行 QR にも対応
otpauth-migration:// 形式の QR(エクスポート用)は、読み取れた場合に中のアカウントを一覧し、選んだ 1 件を入力欄に取り込めます。MD5 など非対応の項目は取り込みません。
こんなときに
- 自社サービスの 2FA 実装が出すコードを、別の実装の結果と突き合わせたい
- QR コードに入っている otpauth:// の発行者・桁数・間隔・アルゴリズムを、登録前に確認したい
- 認証アプリのコードが合わないときに、端末の時計のずれが原因か(前後のコードに現れるか)を切り分けたい
- テスト用アカウントの otpauth:// URI と QR コードを作り、開発環境の動作確認に使いたい
- HOTP のカウンターを進めながら、サーバー側の同期ウィンドウの挙動を確かめたい
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| TOTP / HOTP のコード計算(SHA-1・SHA-256・SHA-512、6〜8 桁) | 対応 | — |
| 前後のコード表示・残り秒数・Unix 秒での時刻指定 | 対応 | — |
| otpauth:// URI の作成・QR コード表示・PNG 保存 | 対応 | — |
| QR 画像・URI からの読み取り(発行者・アカウント・アルゴリズム・桁数・間隔) | 対応 | — |
| otpauth-migration:// (Google Authenticator のエクスポート)の読み取り | 一部対応 | 読み取れる形式の QR のみ。MD5 など非対応の項目や、複数枚に分かれた QR の他の枚は取り込めません |
| 他のサービスのアカウントの復旧・秘密鍵の取り出し | 非対応 | このツールはコードの計算と確認だけで、他のサービスのアカウントには関与できません。復旧は各サービスの手順で行ってください |
| 端末の時計の補正 | 非対応 | ずれは確認できますが、時計そのものは変更できません。OS の時刻同期で合わせてください |
| Steam Guard など独自方式・6〜8 桁以外の桁数 | 非対応 | RFC 4226 / 6238 に沿った方式のみ |
制限・注意事項
- 秘密鍵は Base32 で 256 文字まで、otpauth:// URI は 4096 文字までです。
- 桁数は 6〜8 桁、TOTP の更新間隔は 5〜300 秒、前後のずれは ±5 ステップまでです。
- QR 画像は 10 MB までです。読み取りは WebAssembly(ZXing)をこのサイトから読み込んで行います。
- コードの計算は端末の時計(または指定した Unix 秒)を基準にします。時計がずれていると、認証サーバーと別のコードになります。
- 本番アカウントの秘密鍵を入力する場合は、他人のサイトに入れるのと同じリスクがあります。可能なら検証用の鍵を使ってください。
- スマートフォンでも使えます。QR は画像ファイルを選んで読み取ります。
プライバシーと安全性
秘密鍵・otpauth:// URI・QR 画像は、すべてブラウザ内(Web Crypto と WebAssembly)で処理し、サーバーへ送信しません。URL・ブラウザの保存領域にも書き込まず、ページを閉じると消えます。計測に送るのは利用回数やエラーの種類だけで、鍵やアカウント名は含めません。
よくある質問
ワンタイムパスワード(TOTP)のコードはどう計算されますか?
二段階認証のコードが合わないときは?
二段階認証の QR コードを読み取ると何が分かりますか?
otpauth:// の URI はどう作りますか?
本番アカウントの秘密鍵を入れても安全ですか?
他のサービスのアカウントを復旧できますか?
関連ツール
暗号・ハッシュ計算(Crypto Studio)
テキストを入れるだけで SHA-256 や SHA-3 など 12 種類のハッシュ値を一度に表示。Webhook 署名の HMAC 照合、パスワードでのテキスト暗号化、鍵ペアの生成、bcrypt の作成と照合まで、送信なしで手元の端末だけで行えます。
QR / Barcode Studio
Wi-Fi・連絡先・予定などのひな形から QR コードを作り、JAN や Code 128 などのバーコードもチェックデジットを自動計算して作成。PNG・SVG で保存でき、1 行 1 件で一括作成もできます。
QR コード・バーコード読み取り
画像をドロップするか、カメラをかざすだけで QR コード・バーコードを読み取ります。URL は自動で開かず、本当の接続先ドメインとフィッシングの兆候を先に表示します。処理はすべて端末内です。
パスワード生成・強度チェック(Password Studio)
開いた瞬間に 20 文字の強いパスワードを生成済み。記号の種類や除外する文字を細かく指定でき、覚えやすいパスフレーズにも切り替えられます。手持ちのパスワードの弱点チェックも、送信せずにこの端末の中だけで行います。
証明書・CSR・PEM Studio
PEM・DER(.cer/.crt)・CSR・PKCS#7(.p7b)を読み、Subject・有効期限(残り日数)・SAN・公開鍵・署名アルゴリズム・SHA-256 フィンガープリントなどを一覧にします。チェーンの並び順と署名も確かめ、PEM と DER を変換できます。すべてブラウザの中で処理し、秘密鍵は読み込みません。
秘密情報スキャナー(Secret Scanner)
コードや設定ファイルを貼る・ドロップするだけで、公開前に消すべき秘密情報の候補を行番号つきで一覧します。値は既定で伏せ字、*** に置き換えたコピーも作れます。あくまで補助ツールで、検出漏れがないことは保証しません。
最終更新: