TOTP 驗證碼
base32 金鑰秒出 2FA 動態碼——不用裝 App
動態碼到底是怎麼算出來的
TOTP 把共享金鑰和目前時間變成短碼:兩邊都按 30 秒切視窗,拿金鑰 HMAC 一下視窗號,截 6 位。金鑰相同、時間相同,碼就相同——不用連網,不用簡訊,路上沒東西可截。
這個工具能做什麼
- 📲 任意 base32 金鑰出滾動動態碼
- 🔢 6 位或 8 位,30 秒或 60 秒週期
- ⏳ 倒數計時條告訴你碼還有幾秒作廢
- 🔒 金鑰只留在你的瀏覽器——本機算
什麼時候用它
- 電腦前登入,手邊沒手機
- 測自己剛搭好的 2FA
- 留個讀碼的備用通道
隱私:金鑰只在你的瀏覽器裡參與計算——不傳輸、不儲存、不記日誌。
最後更新 · 2026-09-01
碼是怎麼算的
base32 解碼的金鑰加 30 秒視窗計數器,過 HMAC-SHA1;動態截斷(RFC 4226)取 31 位元再對 10 的位數次方取模。頁面每半秒按系統時鐘重渲染,後台分頁也準。
為什麼在這裡出碼?
標準實現,不是近似
真 RFC 6238,走 RFC 4226 HMAC-SHA1 加動態截斷——官方測試向量過的,碼跟谷歌驗證器逐位一致。
倒數計時看得見
進度條精確顯示目前碼還剩幾秒,再也不會剩 1 秒輸進去然後納悶為啥掛了。
金鑰守得住
手寫 SHA-1 本機跑,零網路請求——貼 2FA 金鑰進來,誰也看不見,不像伺服器端產生器。
常見問題
金鑰去哪找?⌄
每個開 2FA 的服務都會在二維碼旁邊給一串文字金鑰(一般寫著手動輸入或無法掃描)。形如 JBSWY3DPEHPK3PXP 的 base32,貼過來就行。
把 2FA 金鑰貼進網站安全嗎?⌄
在這個頁面可以——構造上就是安全的:驗證碼全在你的瀏覽器本機算,金鑰不傳送、不儲存、不記日誌。但拿到金鑰的人就能產生你的碼,所以還是當密碼一樣保管。
碼總被拒絕為什麼?⌄
九成是時鐘歪了:TOTP 吃的就是時間,先檢查裝置時間是不是自動對時。再看金鑰是不是貼全了,服務要的是不是 30 秒 6 位碼。
常見問題
金鑰去哪找?
每個開 2FA 的服務都會在二維碼旁邊給一串文字金鑰(一般寫著手動輸入或無法掃描)。形如 JBSWY3DPEHPK3PXP 的 base32,貼過來就行。
把 2FA 金鑰貼進網站安全嗎?
在這個頁面可以——構造上就是安全的:驗證碼全在你的瀏覽器本機算,金鑰不傳送、不儲存、不記日誌。但拿到金鑰的人就能產生你的碼,所以還是當密碼一樣保管。
碼總被拒絕為什麼?
九成是時鐘歪了:TOTP 吃的就是時間,先檢查裝置時間是不是自動對時。再看金鑰是不是貼全了,服務要的是不是 30 秒 6 位碼。