OTPジェネレーター(TOTP/HOTP)
設定
モード
時間ベース(TOTP)またはカウンターベース(HOTP)を選択してください
アルゴリズム
OTP 生成に使用するハッシュアルゴリズム
桁数
OTP コードの桁数
周期
TOTPコードの有効時間間隔
秘密鍵
生成されたコード
QRコード設定
コードを検証
現在のシークレットに対してコードが有効か確認します
OTP 認証 URI
このURIを使用するか、QRコードをスキャンして、このアカウントを認証アプリに追加してください
技術的な詳細
OTPジェネレーターの仕組み
このツールでできること
このOTPジェネレーターは、Google Authenticator、Authy、その他の2FAアプリと互換性のある、時間ベースのワンタイムパスワード(TOTP)およびHMACベースのワンタイムパスワード(HOTP)を生成します。Base32のシークレットキーを入力または生成すると、TOTPでは30秒または60秒ごとに変化する6〜8桁のコード、HOTPではカウンターの増加に応じて変化するコードを生成します。すべての計算はWeb Crypto APIを使用してブラウザ内でローカルに実行されるため、シークレットがデバイス外へ送信されることはありません。
開発者によくある利用シーン
開発者は、オンラインTOTPジェネレーターを使用して二要素認証の実装をテストし、OTPライブラリが正しいコードを生成しているかを検証し、認証フローのデバッグを行います。2FAシステムを構築する際、このツールを使ってテスト用シークレットを生成し、サーバー側のTOTP実装を検証し、時刻同期が正しいことを確認できます。また、QAチームが認証アプリを端末にインストールせずに2FAワークフローを検証するのにも役立ちます。
データ形式と標準
このOTPツールは、RFC 6238(TOTP)およびRFC 4226(HOTP)の標準を実装しています。シークレットキーは、認証アプリの標準形式であるBase32エンコーディングを使用します。ツールはSHA-1(デフォルトで最も互換性が高い)、SHA-256、SHA-512のハッシュアルゴリズムをサポートします。出力コードは6桁、7桁、8桁にでき、最も一般的なのは6桁です。OTP Auth URI形式(otpauth://totp/...)はGoogle Authenticatorなどのアプリと互換性があります。
よくある落とし穴とエッジケース
TOTPコードは非常に時間に敏感です。サーバーとクライアントの時計が30秒以上ずれていると認証に失敗します。多くの実装では、わずかなドリフトに対応するために1〜2ステップの許容ウィンドウを設けています。SHA-1は最も広くサポートされているアルゴリズムであり、古い認証アプリの中にはSHA-256やSHA-512をサポートしないものがあります。シークレットキーが正しくBase32エンコードされていることを確認してください。無効な文字が含まれるとデコードエラーになります。
コードではなくこのツールを使うべき場面
このOTPジェネレーターは、開発中のテスト、デバッグ、2FA実装の検証に使用してください。本番システムでは、pyotp(Python)、speakeasy(Node.js)、GoogleAuthenticator(各種言語)などの確立されたライブラリを使用して、サーバー上でOTPコードの生成と検証を行ってください。クライアント側コードでシークレットキーを決して露出させないでください。このツールは開発ワークフローに最適ですが、アプリケーションはOTP検証をサーバー側で処理する必要があります。