TOTP オーセンティケーター: オンラインのワンタイムパスワード生成ツール(RFC 6238)

テスト、デバッグ、QA のために、時間ベースのワンタイムパスワード(TOTP)を即座に生成してコピーできます。アルゴリズム(SHA-1 / SHA-256 / SHA-512)と桁数(6 または 8)を設定し、30 秒ごとに更新されるコードをリアルタイムで確認できます。準拠規格: RFC 6238.

お客様のデータの安全を最優先にしています。TOTP コードの生成とアプリケーションの管理はすべてブラウザ内で完結します。
このツールはシークレットキーやコードを保存したり、ブラウザの外に送信したりすることはありません。

How the Tool Works

ステップ 1.
アプリケーションのシークレットキーを入力する
アプリの 2FA 設定画面に表示される共有 TOTP シークレット(base32)を貼り付けます。
ステップ 2.
アルゴリズムと桁数をカスタマイズする
SHA-1、SHA-256、SHA-512 から選び、6 桁または 8 桁を指定します。SHA-1 + 6 桁が一般的なデフォルトです。連携先が求める場合は、より強いハッシュを使ってください。
ステップ 3.
ワンタイムパスワードを生成する
現在の OTP が生成され、30 秒のタイムステップ(RFC 6238 のデフォルト)で自動更新されます。すばやくテストできるよう、最大 10 個のアプリケーションシークレットを保存できます。
ステップ 4.
ワンタイムパスワードをコピーして認証に使う
コードをクリック/タップするとクリップボードにコピーされます。アプリのログインフローに貼り付けてください。

注意: コードの生成と保存はすべてブラウザのメモリ内でのみ行われます。 そのため、ブラウザのキャッシュを消去したりブラウザを再インストールしたりすると、このツールに保存されたデータはすべて完全に削除されます。

トラブルシューティング

コードが一致しない?
  • サーバーとクライアントの時刻を確認してください。TOTP は正確な時刻に依存します。テスト中は検証ウィンドウ(±1 タイムステップ)を許容してください。
シークレットの形式が違う?
  • シークレットが base32 であることを確認してください。QR コードがある場合は、それをスキャンするか、otpauth URI から secret= パラメーターを取り出してください。
「アルゴリズム不一致」エラー
  • サーバーとオーセンティケーターの両方が同じアルゴリズム(SHA-1/256/512)、桁数、タイムステップを使っているか確認してください。
テストで断続的に失敗する
  • 複数の環境で同じシークレットを再利用していないか確認してください(例: ステージングと本番で同じシークレットを使うと混乱の原因になります)

よくある質問

TOTP とは?

TOTP(Time-Based One-Time Password)は、現在時刻と共有シークレットに基づいて一時的な使い捨てコードを生成する業界標準のアルゴリズムです。TOTP は IETF の公式標準 RFC 6238 で定義されており、Web サイト、アプリケーション、サービス全体で安全な二要素認証を実現するために、有効期間の短い OTP 値をどのように計算するかを規定しています。

なぜ TOTP なのか?

二要素認証(2FA)でセキュリティを強化できる
主要プラットフォーム(Google、Microsoft、GitHub など)で広く採用されている
トークンがすぐに失効するため、コード再利用のリスクを最小限に抑えられる

TOTP の有効期間はどれくらいですか?

デフォルトは 30 秒です(RFC 6238 は 30 秒を推奨)。サーバー側の検証では、時刻のずれを考慮して 1 ステップ分の猶予を許容することが多いです。

SHA-1、SHA-256、SHA-512 のどのアルゴリズムを使うべきですか?

SHA-1 は広くサポートされ、ほとんどの認証アプリで使われています。クライアントとサーバーの両方を管理していて、より厳格なハッシュを望む場合は SHA-256/512 の方が堅牢です。すべての側で同じアルゴリズムを使うようにしてください。

6 桁と 8 桁のどちらを使うべきですか?

6 桁が一般的な標準です(使いやすさとセキュリティのバランス)。8 桁はエントロピーがわずかに高くなりますが、コンシューマー向けの認証アプリではあまり一般的ではありません。

otpauth:// URI からシークレットを取り出すには?

otpauth:// URL の secret= パラメーターが base32 のシークレットです。

認証アプリはどのようにこれらのコードを生成しているのですか?

Google Authenticator、Microsoft Authenticator、Authy、1Password はいずれも、ここで見ているものと同じ RFC 6238 アルゴリズムを実行しています。共有シークレットと現在の 30 秒タイムステップを HMAC に通し、その結果を 6 桁または 8 桁に切り詰めます。同じシークレットであれば、このページのコードとアプリのコードが一致するのはそのためです。
詳しい解説は「認証アプリの仕組み」をご覧ください。コード入力そのものをなくしたい方は、パスキーデモでフィッシング耐性のあるパスワードレスログインを体験してみてください。