TOTP生成ツール

サービスが2段階認証のために渡した秘密鍵を入力してください。このページは、ブラウザの中で現在のワンタイムコードを計算し、残り時間、その前後のコード、カウンターで使う HOTP を表示します。

無料 ブラウザで動作 2026年11月10日火曜日確認済み

このツールはブラウザ内で動作します。入力した内容が当社に送信されることはありません。

使い方

  1. サービスの2段階認証のページにある秘密鍵を入力欄に入力するか、そのQRコードが持つ otpauth:// のテキストを貼り付けます。表示を押すと、入力内容を確認できます。
  2. サービスが指定するハッシュ、桁数、期間を選びます。多くのサービスは、Key URI Format の既定値を使います。SHA-1、6桁、30秒です。
  3. カウンターを使うサービスでは、カウンターベース(HOTP)を選び、カウンターを入力します。カウンター + 1で進みます。
  4. 残り時間がなくなる前に現在のコードを入力します。お使いの機器の時計が少しずれている場合は、前のコードと次のコードも確認してください。

コードの作り方

HOTP(RFC 4226)は、秘密鍵とカウンターを取り、カウンターの HMAC をハッシュで作り、その4バイトを取り出します(動的切り捨て)。その4バイトが示す数を、10の桁数乗で割った余りが、コードになります。

TOTP(RFC 6238)は、時刻から作るカウンターを使う HOTP です。Unix 時刻を秒で取り、期間で割って切り捨てたものです。コードは期間ごとに新しく始まるため、両方の側で時計が正確である必要があります。

TOTP = HOTP(key, floor(unix time / period));   HOTP = truncate(HMAC(key, counter)) mod 10^digits

秘密鍵と otpauth:// の URI

秘密鍵は Base32の文字列(RFC 4648)で、A から Z の英字と、2から7の数字からなります。スペースは無視され、末尾のパディングは省けます。その範囲にない文字を含む秘密鍵や、ありえない長さの秘密鍵は拒否されます。

otpauth:// の URI(Google の Key URI Format)は、種類、ラベル、秘密鍵のほか、任意で発行者、ハッシュ、桁数、期間、カウンターを持ちます。足りない設定は、その形式の既定値になります。SHA1、6桁、30秒、カウンター0です。

このページの確認方法

コードは、RFC 4226の付録 D のテスト値(カウンター 0から9)と、RFC 6238の付録 B のテスト値(8桁で、SHA-1、SHA-256、SHA-512の6回分)に対して検証されています。HMAC はお使いのブラウザの SubtleCrypto で計算されます。

例:RFC 6238のテスト用の秘密鍵

RFC のテスト用の秘密鍵は、テキスト12345678901234567890で、Base32では GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ です。Unix 時刻59、期間30秒で、TOTP のステップ1は、SHA-1の8桁のコード94287082になります。

同じステップを6桁で見ると287082になります。これは RFC 4226のカウンター1のコードで、8桁の値の末尾6桁です。

よくある質問

秘密鍵やコードは、サーバーに送られますか?

いいえ。コードはお使いのブラウザの中で計算され、ページは秘密鍵やコードを含むリクエストを送りません。何も保存されず、再読み込みすると、どちらも消えます。

実際のアカウントの秘密鍵を、ここに貼り付けてもよいですか?

信頼できるページで、ほかの人が画面を見られない場合だけにしてください。実際のアカウントには、認証アプリが通常の置き場所です。日常的に使う秘密鍵を保管するためです。このページは、ご自身のツールや、一度だけ必要なコードに向いています。

なぜコードは30秒ごとに変わるのですか?

時刻ベースのコード(TOTP)は、Unix エポックからの期間の数を使うため、期間ごとに新しいコードが始まります。残り時間の表示は、現在のコードがあとどれくらい有効かを示します。

コードが、サービスのアプリのコードと一致しないのはなぜですか?

サービスが示す秘密鍵(Base32のみ)、ハッシュ、桁数、期間を確認してください。次に、時刻ベースのコードは時計に依存するため、お使いの機器の時計が正しいかを確認してください。前後のコードは、小さな時計のずれを確かめるのに役立ちます。

どのハッシュを選ぶべきですか?

サービスが示すものを選んでください。SHA-1は RFC 4226の HOTP と otpauth の形式の既定値です。RFC 6238では、TOTP に SHA-256と SHA-512も使えます。

TOTP と HOTP の違いは何ですか?

TOTP は時刻を使うため、コードは期間ごとに変わります。HOTP は、使うたびに進むカウンターを使うため、カウンターが変わるまでコードは同じままです。

otpauth:// のテキストは何をするのですか?

2段階認証の鍵の設定を、Key URI Format で持ちます。通常は QR コードの中にあります。ここに貼り付けると、秘密鍵、ハッシュ、桁数、期間、カウンターが入力されます。

出典

数値と文章の最終確認日:2026年11月10日火曜日。

当サイトの運営に必要なCookieを使用します。お客様の同意があれば、Googleは広告用Cookieを使い、パーソナライズ広告を表示します。拒否された場合も広告は表示されますが、パーソナライズはされません。