カテゴリー: 開発ツール

TOTPジェネレーター

サイト側で企画したツールツールが見つからない?

Base32の秘密鍵から時間ベースの2FAコードをローカルで生成します

Base32形式の秘密鍵、または otpauth://totp/... 形式のURIを貼り付けると、認証アプリと同じ6桁または8桁の時間ベース使い捨てパスワードを表示します。すべてブラウザ内で完結します。

Base32形式の秘密鍵、または otpauth://totp/... 形式のURIを貼り付けると、アルゴリズム・桁数・周期を自動で読み取ります。

現在のコード
ここに結果が表示されます。

すべてブラウザ内で完結します。秘密鍵がどこかに送信されることはなく、ページを離れると何も保存されません。

このページの処理はすべてブラウザ内で行われます。アップロードは一切ありません。

このツールでできること

TOTP(Time-based One-Time Password、RFC 6238)は、ほとんどの認証アプリの裏側にあるアルゴリズムです。共有された秘密鍵と現在時刻をHMACで組み合わせてハッシュ化し、短いコードに切り詰めることで、両者が一切通信しなくても30秒ごとに新しい値を生成できます。このツールはWeb Crypto APIを使って同じ計算をブラウザ内で行うため、秘密鍵の確認や連携のデバッグを、アプリをインストールせずに行えます。

使い方

  1. 2FA設定時のBase32秘密鍵を貼り付けるか、QRコードのペイロードから得た otpauth://totp/... 形式のURIをそのまま貼り付けます。
  2. 秘密鍵だけを貼り付けた場合は、サービスが発行した設定に合わせてアルゴリズム・桁数・時間ステップを設定します。
  3. 失効する前に現在のコードを確認し、ワンクリックでコピーします。

プライバシー

このツールはすべてブラウザ内で動作します。入力した内容がアップロード・保存・共有されることはなく、タブを閉じれば消えます。

よくある質問

秘密鍵はどこかに送信されますか。
いいえ。コードはブラウザタブ内で動作するWeb Crypto APIによって計算されるため、貼り付けた秘密鍵が端末の外に出ることはありません。
otpauth:// URIを貼り付けるとアルゴリズムや桁数の欄が非表示になるのはなぜですか。
URIにはすでにアルゴリズム・桁数・時間ステップが含まれているため、このツールはそれらをリンクから読み取ります。厳密に一致させる必要がある値を手動で入力し直す必要はありません。
どのアルゴリズムと桁数を使えばよいですか。
秘密鍵を発行したサービスが使っているものに合わせてください。多くの一般向けアプリはSHA-1・6桁・30秒周期を使用しており、このツールもそれを既定値としていますが、SHA-256・SHA-384・SHA-512、および6桁・8桁にも対応しています。