Base32形式の2FAシークレットを、RFC 6238準拠のワンタイムコードに変換します。すべてブラウザ内で計算されます。
本物の2FAシークレットは信頼できる端末でのみ貼り付けてください。見られると誰でもあなたのコードを生成できます。「例を試す」ではRFC 6238の公開テスト鍵を読み込みます。
otpauth:// URIをプレビューするには有効なシークレットを入力してください。
••• •••
このツールは、RFC 6238で定義された時刻ベースのワンタイムパスワード(TOTP)を生成します。これはGoogle AuthenticatorやAuthyなどの認証アプリと同じアルゴリズムです。二要素認証の設定時に表示されるBase32エンコードのシークレットを貼り付けると、Web Crypto APIを使ってブラウザ内だけで現在・前回・次回のコードを計算します。
TOTPコードとは何ですか?
時刻ベースのワンタイムパスワード(TOTP)は、共有シークレットと現在時刻から生成され、30秒または60秒ごとに変化する短い数字のコードです。二要素認証(2FA)に使われるほとんどの認証アプリの基盤となっている標準規格です。
実際の2FAシークレットをここに入力しても安全ですか?
すべての処理はブラウザ内でローカルに行われ、シークレットがどこかに送信されることはなく、記録・保存も一切されません。とはいえ、実際の本番環境で使用している2FAシークレットをWebページに入力すること自体には、一定の固有リスクが伴います(例えば、悪意あるブラウザ拡張機能など)。学習・テスト目的や自分が管理するシークレットであれば安全ですが、本当に重要な、または共有アカウントのシークレットはより慎重に扱ってください。
このツールはどのアルゴリズムと設定に対応していますか?
ほとんどの認証アプリで標準的に使われるSHA-1に加え、SHA-256、SHA-512に対応し、6桁または8桁のコード、30秒または60秒の周期を選択できます。これはRFC 6238で定義された範囲を網羅しています。
なぜ認証アプリのコードと一致しないのですか?
最もよくある原因は、端末の時計がずれている(TOTPは時刻に依存します)、アルゴリズム・桁数・周期がアカウントの実際の設定と一致していない(多くのサービスはSHA-1、6桁、30秒を使用)、またはシークレットの入力ミスです。各設定と端末の時計を確認してください。
このページを普段使いの認証アプリとして使えますか?
あまり向いていません。このページは意図的にシークレットを保存しないため、毎回貼り付ける必要があり、そのたびに漏えいの機会が増えます。日常のログインには認証アプリを使い、このツールはシークレットが手元にあるときのテスト、デバッグ、コード確認に使ってください。
シークレットはどの形式である必要がありますか?
Base32エンコードされた文字列(A-Zの文字と2-7の数字)です。これは、サービスがQRコードの代わりに手動設定用のキーを表示する際に使われる形式と同じです。スペース、小文字、パディングの欠落は自動的に許容されます。
すべての計算はWeb Crypto APIを使ってブラウザ内でローカルに行われます。シークレットがアップロード、記録、保存されることは一切ありません。ただし、他のWebツール同様、リスクを理解していない限り本当に重要な本番シークレットの貼り付けは避けてください。