工具用的順手嗎?
你的回饋能幫助我們做得更好
線上生成和驗證雙因素身份驗證程式碼,保護賬戶安全
支援 Base32,自動忽略空格、連字元和尾部填充符。
輸入有效金鑰後即可生成 TOTP 動態驗證碼、二維碼和 otpauth 連結
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
TOTP 是以時間為基礎的一次性密碼。產生端與驗證端必須持有相同的共享密鑰,並使用相同的時間步長、位數與雜湊演算法;目前時間落在哪個時間步,就會得到該時段的短碼。本工具可輸入 Base32 金鑰,選擇 6 位或 8 位、30 秒或 60 秒,以及 SHA-1、SHA-256 或 SHA-512,查看當前動態碼與切換倒數,也會產生 otpauth URI 和 QR code。
TOTP = HOTP(K, floor(t / X))
K 是共享密鑰,t 是 Unix 時間,X 是時間步長。雙方參數不同,即使金鑰相同也會算出不同代碼。
RFC 6238 建議 30 秒作為預設時間步,並允許使用 SHA-256 或 SHA-512;實際測試時仍要配合目標服務的設定。Base32 是表示金鑰的文字編碼,不是加密方式。可參考 RFC 6238、RFC 4648 與 NIST 的 SP 800-63B-4(美國數位身分指南;查閱於 2026-09-30)。
指南
依步驟完成操作,並透過範例核對輸入與結果。
輸入服務提供的 Base32 共享密鑰,或使用「隨機生成金鑰」建立一組新密鑰。測試新註冊流程時,請把新密鑰登記在測試帳戶;只輸入金鑰並不會替服務啟用 2FA。
帳戶名稱和發行方名稱會放進 otpauth URI 與 QR code,方便驗證器辨識項目。位數、時間步長及演算法要與目標服務完全相同;不確定時先查服務的設定說明,不要任意猜測。
結果區會顯示目前代碼及剩餘秒數,代碼依所選 30 秒或 60 秒週期輪換。可以複製代碼、URI 或掃描 QR code。先確認服務端使用同一密鑰和參數,再用測試帳戶完成註冊流程。
輸入會忽略英文字母大小寫、空格、連字號及末尾的等號填充;其他不屬於 Base32 字母表的字元會被判定為無效。
情境
查看這項工具在不同工作與生活流程中的用法。
開發者可在測試環境為測試帳戶設定相同密鑰和參數,再比對本頁代碼與服務端結果,排查時間步、位數或演算法設定不一致。
講師可使用虛構測試密鑰改變週期或位數,觀察代碼輪替與倒數,說明共享密鑰、時間同步和驗證端設定之間的關係。
問答
集中解答常見疑問與容易混淆的問題。
先確認兩邊使用同一密鑰、位數、時間步與雜湊演算法,再檢查裝置時間。服務端在時間步交界處接受前一碼或後一碼的規則也可能不同;本工具不會替服務端判斷代碼是否有效。
不能直接把整段 URI 當成輸入;請從服務提供的設定資訊取出 Base32 密鑰,再分別填入帳戶及發行方欄位。此工具會依欄位組成 URI 和 QR code。
檢查驗證器是否支援 TOTP,以及該服務是否接受所選演算法、位數和週期。掃描只會把密鑰與參數交給驗證器,仍須在目標服務完成設定與確認。
可以,本頁會忽略空格、連字號、字母大小寫差異及結尾的等號填充。若顯示金鑰無效,請確認其餘字元只包含 A–Z 與 2–7。
須知
使用前了解適用範圍、結果限制與必要提醒。
共享密鑰能用來產生該帳戶的動態碼;本頁也會顯示金鑰,並將其放入 URI 和 QR code。把這些內容、頁面截圖或螢幕分享交給他人,可能讓對方取得產碼能力。請勿在公開或不可信的裝置及頁面輸入真實帳戶密鑰;聯調、教學和示範請使用專用測試帳戶與測試密鑰,並依你的憑據管理流程處理測試資料。Base32 只是編碼,不會隱藏秘密。
本工具只產生 TOTP 動態碼,不會核驗輸入的驗證碼、不會登入帳戶,也不會替你完成服務端的 2FA 註冊。新產生的密鑰必須先由目標服務登記,且服務與產生端參數一致才可能得到相同代碼;頁面上出現代碼不代表帳戶已受到保護。
推薦
查找相關工具、專題與可用的 API 能力。