🔐 TOTPワンタイムパスワード生成・検証
Base32のシークレットから、二段階認証で使われるワンタイムパスワード(TOTP/RFC 6238)を生成します。残り秒数の確認、コードの照合、認証アプリに登録するためのQRコード表示まで、この1ページで行えます。
🔒 シークレットはブラウザ内でのみ処理され、弊社サーバーへ送信・保存されることは一切ありません。
計算はすべてお使いの端末の中(WebCrypto)で完結しています。通信は発生しません。
1. シークレット(Base32)
小文字・空白・ハイフン・末尾のパディング(=)が混ざっていても、そのまま解釈します。読み取り結果:JBSW Y3DP EHPK 3PXP(10バイト/80bit)
2. オプション
3. 現在のワンタイムパスワード
前後のコードは、端末の時計のずれを切り分けるための参考値です。サーバー側は通常、この前後1ステップまでを許容します。
※ コピーボタンでは、区切りを含まない現在のコードをコピーします。
4. コードの検証
別の実装が出力したコードを貼り付けると、現在のステップから前後1ステップの範囲で一致するかを判定します。
5. 認証アプリへの登録(otpauth:// URI とQRコード)
Google Authenticator・Microsoft Authenticator・1Password などの認証アプリで、このQRコードを読み取ると登録できます。
QRコードには、シークレットそのものが含まれています。画面共有・スクリーンショットの取り扱いにご注意ください。
用途とご注意
本ツールは、2FA(二段階認証)実装のデバッグ・検証を目的としています。本番環境で実際に使われているシークレットを入力しないことを強く推奨します。
TOTPは端末の時計を前提とした仕組みです。コードが合わない場合は、まずご利用の端末とサーバーの時刻同期(NTP)をご確認ください。
シークレットは認証情報そのものです。共有・保管の方法にはパスワードと同等以上の注意を払ってください。
※ シークレット・コードはすべてブラウザ内(WebCrypto)で処理しており、弊社サーバーへ送信・保存することは一切ありません。
※ 実装はRFC 6238(TOTP)・RFC 4226(HOTP)・RFC 4648(Base32)に準拠し、各RFCのテストベクターとの一致を確認しています。
※ T0(基準時刻)は0(UNIXエポック)固定です。