2FAコードジェネレーター(TOTP)
手元のBase32設定キーから、時刻ベースの認証コードをローカルで生成します。
計算は端末内で行われ、入力値をサーバーへ送りません。
具体例
RFCの公開テストキーを使うと、59秒時点のSHA-1・6桁コードは287082で、59.999秒までは287082のままです。60秒になると359152に変わります。
計算方法・仕組み
この生成器はTOTP規格RFC 6238に沿っています。現在のUNIX時刻を選んだ期間で割り、その値をキーとHMACで組み合わせ、結果を6桁または8桁の数字にします。同じキー、同じ設定、正しい時刻がそろえば、誰が計算しても同じコードになります。
注意事項
キーはパスワードと同じ扱いです。このページのメモリー内にとどまり、保存もログ記録も送信もされず、リセットやページを離れた時点で消えます。それでも、乗っ取られた端末や悪意あるブラウザー拡張までは防げないので、共用のパソコンにキーを貼り付けないでください。
時刻ベースのコードとは
認証アプリはTOTPという標準(RFC 6238)で30秒ごとに新しいコードを表示します。サービスとアプリは秘密のセットアップキーを共有し、それぞれ現在のUnix時刻を周期で割ったカウンターとキーをHMACで組み合わせ、6桁または8桁の数字に変換します。同じキー・同じ設定・正しい時刻なら誰でも同じコードになります。表の例はRFCに載っている公開のテスト用キーで、1970年1月1日から59秒の時点の6桁SHA-1コードは287082、59.999秒までは287082のままです。
設定と時計を合わせる
サービスが示すBase32のセットアップキーをそのまま入力します。スペースや小文字は受け付けますが、QRコードの画像、SMSのコード、otpauthリンクは使えません。多くのサービスはSHA-1・6桁・30秒で、どれか1つでも違うと正しそうに見えて誤ったコードになります。同じキーと時刻でも、8桁なら94287082、SHA-256なら46119246、SHA-512なら90693936です。コードは周期の境目で変わり、60秒の時点では359152になります。081804のような先頭の0も入力が必要です。
このページの安全対策の範囲
キーはパスワードと同じように扱います。キーはこのページのメモリ内にだけあり、保存・記録・送信されず、リセットやページ移動で消去されます。ページは広告や解析のスクリプトを読み込まず、外部への通信も遮断します。それでも乗っ取られた端末や悪意のあるブラウザー拡張機能からは守れないため、共用パソコンにはキーを貼り付けないでください。サービスのリカバリーコードは安全に保管し、日常のログインには信頼できる認証アプリを使いましょう。コードが拒否されたら、端末の時刻の自動設定を有効にして新しいコードで試してください。
計算・使用例| 入力 | 結果 |
|---|
RFC key · SHA-1 · 6 digits · 30 s · at 59 s | 287082 |
RFC key · SHA-1 · 6 digits · 30 s · at 59.999 s | 287082 |
RFC key · SHA-1 · 6 digits · 30 s · at 60 s | 359152 |
RFC key · SHA-1 · 6 digits · 30 s · at 1111111109 s | 081804 |
RFC key · SHA-1 · 8 digits · at 59 s | 94287082 |
RFC key · SHA-256 · 8 digits · at 59 s | 46119246 |
RFC key · SHA-512 · 8 digits · at 59 s | 90693936 |
よくある質問
コードが受け付けられません。何を確認すべきですか?
まず設定です。多くのサービスはSHA-1・6桁・30秒を使っており、どれか1つ違うだけで、それらしく見える誤ったコードになります。同じキーと同じ時刻でも、8桁なら94287082、SHA-256なら46119246、SHA-512なら90693936です。次に端末の時刻の自動設定を有効にし、新しいコードで試してください。
どの形式のキーを入力できますか?
サービスから提供されたBase32の設定キーをそのまま入力してください。空白や小文字は受け付けますが、QR画像やSMSのコード、otpauthリンクは使えません。秘密のキーは決して他人に渡さないでください。また、コードをコピーすると端末のクリップボードに残る点にもご注意ください。
アカウントのバックアップや復旧はできますか?
できません。このページは保管庫でもバックアップでも復旧サービスでもないので、各サービスの回復コードは別の安全な場所に保管し、日常のログインには信頼できる認証アプリをお使いください。なお081804のように先頭のゼロもコードの一部なので、省かずに入力してください。
お問い合わせ · 2FAコードジェネレーター(TOTP)
関連ツール