TOTP コード生成ツール
base32 シークレットを、スキャン可能な QR コード・otpauth:// 取り込み・コード検証つきの TOTP 二要素認証コードにブラウザー内でリアルタイム変換します。
TOTP コード生成ツール — base32 のシークレット、あるいは otpauth:// 設定 URI をまるごと貼り付けると、対応する TOTP 二要素認証コードが Google Authenticator や Authy と同じように毎秒更新されます。SHA-1・SHA-256・SHA-512、6 桁か 8 桁、任意の周期を選び、発行者とアカウントのラベルを付け、生成された QR コードをアプリに読み込ませ、入力したコードを 1 ステップの窓で検証できます。すべて Web Crypto API でローカルに計算されるため、シークレットがブラウザーの外に出ることはありません。
TOTP コード生成ツールとは?
TOTP コード生成ツールは、base32 の共有シークレットを Google Authenticator・Authy・Microsoft Authenticator などが生成するのと同じ時間ベースのワンタイムパスワード(TOTP)に変換し、さらに完全な otpauth:// 設定 URI を相互変換できる無料のオンラインツールです。開発者や QA エンジニアは、二要素認証フローのテスト、QR コードのスキャンによるテストアカウント登録、入力したコードの有効性確認に使います。RFC 4226 の HOTP の上に RFC 6238 を実装し、選んだ SHA-1・SHA-256・SHA-512 ハッシュで HMAC を計算して動的トランケーションを施し、周期ごとに切り替わる 6 桁または 8 桁のコードを得ます。otpauth:// URI を貼り付ければシークレット・発行者・アカウント・アルゴリズム・桁数・周期が自動入力され、ライブコード・カウントダウン・スキャン可能な QR コード・±1 ステップのコード検証がすべて自動で更新されます。
TOTP コード生成ツールの使い方
- 「シークレット」欄に base32 シークレットを貼り付ける、「シークレット生成」で新しいランダム値を作る、または otpauth:// URI を貼り付けて「URI から入力」を押すと全項目が自動入力されます。
- 設定を開いてハッシュアルゴリズム(SHA-1・SHA-256・SHA-512)、6 桁か 8 桁、周期(秒)を選びます。コードはその選択どおりに再計算されます。
- 発行者とアカウントのラベルを付けて、生成される otpauth:// URI と QR コードがアカウントを識別できるようにします。
- 「コード」欄で現在のコードを読み取ってコピーするか、QR コードを認証アプリで読み取ってアカウントを登録します。
- 「コード検証」にコードを入力し、現在のコードとその前後 1 ステップと照合します。
使用例
QR コードでテストアカウントを追加
シークレットを入力し、Example Corp のような発行者と alice@example.com のようなアカウントを設定して、生成された QR コードを Google Authenticator や Authy で読み取ります。QR は同じシークレット・アルゴリズム・桁数・周期を符号化しているため、両者は一致するコードを生成します。
既存の otpauth:// URI を取り込む
otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&algorithm=SHA256&digits=8&period=30 のような文字列を貼り付けて「URI から入力」を押すと、シークレット・発行者・アカウント・SHA-256・8 桁・30 秒周期が自動入力され、ライブコードが表示されます。
ステップ窓でコードを検証
アプリが表示しているコードを「コード検証」に貼り付けます。現在の 30 秒ステップに一致しても、直前・直後のステップに一致しても有効と表示され、端末間のわずかな時計ずれをカバーします。
よくある質問
- シークレットはどこかにアップロードされますか?
- いいえ。base32 シークレット・otpauth:// URI・QR コードはすべてブラウザー内に留まります。コードは Web Crypto API でローカルに計算され、QR も端末上で描画されるため、何もサーバーに送信・保存されず、ツールはオフラインで動作します。
- どのアルゴリズムに対応していますか?
- SHA-1・SHA-256・SHA-512 です。選んだアルゴリズムが実際の HMAC に使われるため、そのいずれかで設定されたサービスとコードが一致します。SHA-1 はほぼすべての認証アプリが使う既定値です。
- 認証アプリにアカウントを追加するには?
- シークレットと発行者・アカウントを入力し、生成された QR コード(otpauth://totp URI を符号化)を Google Authenticator・Authy などで読み取るか、QR を PNG でダウンロードします。otpauth:// URI を直接コピーすることもできます。
- コード検証は何を確認しますか?
- 入力したコードを、現在の周期のコードと前後 1 ステップのコード(±1 の窓)と比較します。そのため、ちょうど期限切れになったコードや少し早いコードも有効になります。多くのサーバーが時計ずれに許す小さな許容範囲と同じ考え方です。
- コードが認証アプリと一致しないのはなぜですか?
- TOTP は現在時刻と、正確なシークレット・アルゴリズム・桁数・周期に依存します。アルゴリズム(SHA-1/256/512)・桁数(6 か 8)・周期(通常 30 秒)がサービスと一致するか、シークレットを完全に貼り付けたか、端末の時計が正確かを確認してください。
関連ツール
AES テキスト暗号化(AES-GCM + PBKDF2)
パスフレーズから導出した鍵(PBKDF2 SHA-256)で AES-GCM によりテキストを暗号化・復号します。すべてブラウザ内で完結し、アップロードはありません。
Argon2・scrypt ハッシュ
Argon2id または scrypt でパスワードをハッシュ化し、Argon2 ハッシュとパスワードを照合します。すべてブラウザー内で動作します。
Bcrypt ハッシュ生成・検証ツール
平文から選んだコストファクターで bcrypt パスワードハッシュを生成したり、既存の bcrypt ハッシュとパスワードを照合したりを、すべてブラウザー内で行います。
BIP39 ニーモニック生成ツール
12〜24 語のランダムな BIP39 リカバリーフレーズを複数の言語で生成したり、既存のニーモニックを元のエントロピーに戻したりします。すべてブラウザー内で行われます。