2FA 驗證碼產生器
貼上你的 Base32 2FA 金鑰,立即取得可用的 6 位數兩步驟驗證碼。本頁執行的是與 Google Authenticator、Microsoft Authenticator、Authy 完全相同的 RFC 6238 TOTP 演算法,因此產生的一次性密碼可直接用於 Binance、GitHub、Discord、Facebook、X,以及任何已啟用 2FA 的網站。
輸入你的 2FA 金鑰,立即取得驗證碼。
顯示在這裡
你的驗證碼
點一下即可複製
2FA 驗證碼是什麼?
2FA 驗證碼是一組 6 位數的一次性密碼,用來證明你除了密碼之外還握有第二道驗證因素。各家服務的叫法不同,可能稱為兩步驟驗證碼、驗證碼,或直接簡稱 OTP。其中絕大多數採用的標準都是 TOTP——以時間為基礎的一次性密碼,規範定義於 RFC 6238。
啟用兩步驟驗證時,服務會顯示一組金鑰:以 Base32 編碼的一小段英文字母與數字,例如 JBSWY3DPEHPK3PXP。這組金鑰和當下的時間會在兩端各跑一次同樣的運算,所以你的驗證器應用程式和服務端即使毫無連線,也能算出完全一致的驗證碼。結果每 30 秒換一次,因此驗證碼即使被攔截,也幾乎立刻失效。
只要實作了這套標準,同一組金鑰就會算出同一組驗證碼——並不存在只有 Google 認得或只有 Authy 認得的驗證碼。這正是手機不在身邊時,本頁面能代替驗證器 App 的原因。想進一步了解原理,可以參考〈兩步驟驗證是什麼〉與〈TOTP 演算法如何算出每一組驗證碼〉。
如何用金鑰產生 2FA 驗證碼
1. 貼上你的 Base32 2FA 金鑰
從帳號的兩步驗證設定頁面複製 Base32 金鑰,貼到這裡。
2. 取得 6 位數 TOTP 驗證碼
6 位數驗證碼會立即顯示,並每 30 秒自動更新一次。
3. 複製驗證碼並登入
點一下驗證碼即可複製,接著貼到需要登入的地方。金鑰自始至終只留在你的瀏覽器裡。
在瀏覽器裡產生 2FA 驗證碼安全嗎?
關鍵完全在於運算是在哪裡進行。有些線上 2FA 產生器會把你的金鑰傳回自家伺服器,再把算好的驗證碼送回來——也就是說,保護你帳號的那組金鑰,站方全都看得到。本頁面的做法完全不同。
你的驗證碼是在瀏覽器本機透過 Web Crypto API 運算出來的,而且十秒就能自己驗證:打開瀏覽器開發者工具的「網路」面板,看看是否真的一個請求都沒送出;或者乾脆在頁面載入完成後把網路斷掉。產生器照樣能用,因為根本沒有東西需要傳送。至於高價值帳號——銀行、主要信箱、加密貨幣錢包——還是建議改用硬體金鑰或自己裝置上的 App,安全性說明頁也詳細說明了各種情況該怎麼選。
隱私保護,以及如何自行驗證
本工具使用瀏覽器內建的 Web Crypto API 產生 TOTP 驗證碼。這代表:
- 不與伺服器連線: 頁面載入完成後,不會再送出任何網路請求。你可以打開瀏覽器開發者工具的「網路」分頁自行確認。
- 不做任何儲存: 金鑰只在分頁開啟期間存在於瀏覽器記憶體中,關閉分頁即清除。不使用 Cookie、不使用 localStorage、沒有資料庫。
- 不進行追蹤: 沒有分析程式碼、沒有第三方資源、不做瀏覽器指紋辨識。這個頁面不會把任何資料回傳到任何地方。
- 公開標準: 驗證碼演算法遵循 RFC 6238(TOTP)與 RFC 4226(HOTP),與 Google Authenticator 及各大驗證器應用程式採用的標準完全相同。
想再確認一次的話,等這個頁面載入完成後直接中斷網路連線,工具依然可以正常運作。
想看完整的威脅模型,包括什麼情況不該使用本工具?請閱讀安全性說明頁(英文)。
2FA 驗證碼產生器常見問題
2FA 驗證碼就是輸入密碼之後,服務還會再要你填的那組 6 位數一次性密碼。絕大多數屬於 TOTP 驗證碼,由金鑰加上當下時間算出,每 30 秒更新一次。同一組金鑰在任何符合標準的驗證器裡,算出的驗證碼都一樣。
如果你手上有啟用兩步驟驗證時服務給的那組 Base32 金鑰,直接貼進上面的欄位,驗證碼就會立刻出現,不必安裝任何東西。
如果該服務只會用 SMS 把驗證碼傳到你手機,那就沒有金鑰可貼,只能等簡訊。只有支援驗證器 App 的服務才會發給你金鑰。
十次有九次是裝置時間不對。TOTP 驗證碼是依當下時間算出來的,誤差只要超過大約 30 秒,算出的碼服務端就不會接受。請開啟「自動設定日期與時間」後再試一次。另一個常見原因是金鑰沒複製完整:Base32 只用 A–Z 和 2–7,所以只要看到 0、1、8、9,就表示複製錯字串了。
它只會在設定時顯示一次。服務顯示 QR 碼的時候,旁邊幾乎都有一個比較小的連結,寫著「無法掃描?」或「手動輸入金鑰」——點開就能看到文字版的 Base32 金鑰。如果你當初只掃了 QR 碼、沒把文字存下來,那就無法再找回,只能把 2FA 關掉再重新開啟,讓服務發一組新金鑰。
標準設定下是 30 秒。實務上多數服務也會接受上一組驗證碼,所以通常有接近一分鐘的空檔。如果輸入途中驗證碼跳號了,直接用新的那組就好,不會因此被鎖住或受罰。
可以。讓兩步驟驗證成立的不是手機,而是金鑰。任何實作 RFC 6238 的工具都能把金鑰換成有效的驗證碼,而這正是本頁面在做的事。把金鑰本身妥善保存好,就不會因為手機沒帶、沒電或遺失而被鎖在帳號外面。