zh-Hant

TOTP產生器

從Base32金鑰或otpauth URI計算目前的TOTP/2FA驗證碼(RFC 6238),完全在本機處理:金鑰絕不會離開你的裝置。

正在你的裝置上本機處理 ...

演算法
  • SHA-1
  • SHA-256
  • SHA-512
位數
  • 6
  • 7
  • 8
時間窗口(秒)

正在你的裝置上本機處理 ...

0%

我的檔案會被上傳嗎?

不會。一切都在你的瀏覽器中執行,你的檔案永遠不會離開你的裝置。這一點如何查證

無需上傳100% 本機處理
內容只留在你這裡第三方無法存取
Hosted in GermanyGlobal Content Delivery
通過獨立稽核TLS A+ · 標頭 A+

TOTP驗證碼(以時間為基礎的一次性密碼,RFC 6238)是Google Authenticator或Authy等應用程式在雙重驗證登入時顯示的短數字。它由一組祕密金鑰(通常以Base32編碼)與目前時間計算而成:服務端與你的應用程式都知道同一組金鑰,並各自獨立地為同一個時間窗口(通常30秒)計算出相同的驗證碼,伺服器與應用程式之間完全不需要任何通訊,只依靠一個共同的公式。

這個工具會在你的瀏覽器中就地計算這個公式。你可以貼上完整的otpauth://連結,這種連結通常隱藏在設定新雙重驗證帳戶時出現的QR code裡,也可以手動輸入金鑰,並自行選擇演算法(SHA-1、SHA-256或SHA-512)、位數(6、7或8位)以及時間窗口(預設30秒)。如果貼上的連結本身已經包含這些數值之一,就以連結中的數值為準,和任何驗證器應用程式的實際設定流程一樣。

這有什麼用:如果你弄丟了手機或換了應用程式,可以用這裡儲存的金鑰立刻確認它是否仍然正確,而不必先安裝新的應用程式。在開發自己的雙重驗證功能時,也能用它快速算出預期的驗證碼,再與自己的伺服器核對。

金鑰就是你雙重驗證帳戶的全部安全保障,任何知道它的人都能算出未來的每一組驗證碼。正因如此,運算完全在本機透過瀏覽器原生的Web Crypto介面(經由crypto.subtle實作的HMAC)完成;任何內容都不會被傳送、儲存或記錄,首次載入後即使離線也能繼續運作。若想把新產生的金鑰變成QR code,可使用我們的QR code產生器:只要把otpauth連結貼進去即可。

技術規格

技術規格
輸入格式文字輸入
輸出格式TXT
批次處理不支援
處理方式在瀏覽器中本機處理 (JavaScript)
檔案上傳

三個步驟

  1. 貼上otpauth連結,或手動選擇金鑰、演算法、位數與時間窗口。
  2. 點擊產生。
  3. 讀取目前的驗證碼,並輸入到所需的欄位。

限制: 這個工具不會透過相機掃描QR code(基於隱私考量刻意未加入此功能),金鑰或otpauth連結必須以文字形式輸入。它不會在兩次造訪之間保留任何金鑰;關閉頁面後一切都會消失。HOTP(以計數器為基礎、與時間無關的方式)刻意不支援,僅支援TOTP。若要取得新產生的QR code,請使用另一個QR code產生器,貼上這裡顯示的otpauth連結。

常見問題

金鑰會被上傳嗎?

不會。運算完全在你的瀏覽器中透過Web Crypto進行;金鑰絕不會離開你的裝置,不會被儲存,也不會被記錄。

TOTP和HOTP有什麼差別?

TOTP從目前時間推導計數器(預設30秒的時間窗口),HOTP則從持續遞增的事件計數器推導。如今幾乎所有驗證器應用程式都使用TOTP;這個工具也刻意只支援這一種方式。

我能為自己的金鑰產生QR code嗎?

可以,間接做到:把otpauth連結(包含金鑰、演算法、位數與時間窗口)貼到我們的QR code產生器中,它會轉換成任何驗證器應用程式都能掃描的QR code。

支援哪些演算法?

SHA-1(幾乎所有應用程式使用的標準)、SHA-256與SHA-512,三者都透過瀏覽器原生的Web Crypto HMAC功能實作,不需要額外的函式庫。

為什麼再次點擊產生後驗證碼會改變?

TOTP驗證碼只在固定的時間窗口內(通常30秒)有效。時間一到,再次點擊會自動算出下一組有效的驗證碼。

相關工具

QR Code 產生器 · 亂數密碼產生器 · 計算 HMAC · BIP39產生器 · UUID產生工具