OTP 驗證碼產生/校驗
產生和校驗 TOTP/HOTP 一次性驗證碼,用於雙因素認證。支援 SHA-1/256/512、Base32/Hex 密鑰、QR Code 匯出,100%瀏覽器端執行,無需註冊。
什麼是一次性驗證碼(OTP)?
OTP 是僅在一次登入工作階段或交易中有效的密碼。由於它會頻繁變化,即使被竊取也會很快失效,因此比靜態密碼更安全。
TOTP 和 HOTP 有什麼區別?
TOTP(基於時間的一次性密碼,RFC 6238)根據當前時間產生驗證碼,預設每 30 秒變化一次。HOTP(基於 HMAC 的一次性密碼,RFC 4226)使用遞增計數器,每次產生時計數器加一。TOTP 在現代雙因素認證中更常見。
這個 OTP 產生器安全嗎?
安全。所有產生和校驗都在瀏覽器本機透過 Web Crypto API 完成,您的密鑰不會離開裝置,也不會傳送到任何伺服器。
什麼是 Base32 密鑰?
Base32 是一種用 32 個字元(A-Z 和 2-7)表示二進位資料的編碼方案,是 Google Authenticator 等驗證器使用的 OTP 密鑰標準格式,例如 "JBSWY3DPEHPK3PXP"。
應該選擇哪種雜湊演算法?
SHA-1 是預設演算法,與包括 Google Authenticator 在內的大多數驗證器相容。SHA-256 和 SHA-512 更安全,但並非所有應用都支援。為獲得最佳相容性請使用 SHA-1。
如何將產生的驗證碼新增到 Google Authenticator?
輸入密鑰後,用 Google Authenticator(或其他相容 2FA 應用)掃描顯示的 otpauth QR Code。也可以手動輸入 otpauth URI 或密鑰。
otpauth:// URI 格式是什麼?
otpauth://totp/<標籤>?secret=<密鑰>&issuer=<發行方>&algorithm=<演算法>&digits=<位數>&period=<週期>。該 URI 編碼了所有 OTP 參數,可渲染為 QR Code 方便匯入驗證器。
為什麼驗證碼每 30 秒變化一次?
RFC 6238 規定 TOTP 預設時間步長(週期)為 30 秒,在安全性(有效期短)和可用性(有足夠時間輸入)之間取得平衡。如有需要可自訂週期。
可以校驗收到的驗證碼嗎?
可以,切換到校驗模式,輸入密鑰和收到的驗證碼。工具會比對當前及前後時間視窗的值,以容忍微小的時鐘偏差。
6 位和 8 位驗證碼有什麼區別?
指產生的 OTP 驗證碼長度。6 位是大多數 2FA 系統的標準長度。8 位提供更多組合可能,但支援的應用較少。
為什麼我的驗證碼和 Google Authenticator 不一致?
請檢查密鑰、演算法(通常 SHA-1)、位數(通常 6 位)和週期(通常 30 秒)是否一致。同時確保裝置時間準確,因為 TOTP 依賴時間同步。
2FA 和 OTP 是一回事嗎?
OTP 是產生一次性驗證碼的機制。2FA(雙因素認證)是一種安全流程,常以 OTP 作為第二因素,將「你所知道的」(密碼)與「你所擁有的」(OTP 裝置)相結合。
如何使用OTP 驗證碼產生/校驗
產生並驗證用於雙因素驗證的 TOTP/HOTP 一次性密碼,支援 QR 匯出。所有計算都在瀏覽器本機完成,金鑰絕不會離開裝置。
- 把金鑰貼到 Secret Key,例如 JBSWY3DPEHPK3PXP,並將 Secret Format 設為 Base32 或 Hex。
- 在 Algorithm 中選擇雜湊演算法 SHA-1、SHA-256 或 SHA-512,並在 Digits 中選擇位數 6 或 8。
- 點擊 TOTP Generate 產生基於時間的驗證碼,或填入 Counter 值後點擊 HOTP Generate。
- 填寫 Issuer (optional) 與 Account Label (optional),例如 MyCompany 與 user@example.com。
- 要驗證驗證碼,在 Code to Validate 中輸入,例如 123456,然後點擊 Validate。
- 點擊 Copy 取得 otpauth:// URI,匯入到你的驗證器應用。
TOTP 驗證碼每過 Period (seconds)(預設 30 秒)就輪換一次,驗證失敗往往只是時間視窗過期。
相關工具
- 檔案雜湊校驗 本地計算校驗MD5、SHA-1、SHA-256、SHA-512檔案雜湊值
- PDF解密 在瀏覽器中即時移除PDF檔案的密碼保護,內建智慧暴力密碼恢復功能。
- PDF加密 免費線上為PDF檔案新增密碼保護。使用AES-256加密保護PDF文件,防止未授權存取。100%瀏覽器端處理,無需上傳。
- Basic Auth 標頭產生器 線上產生 HTTP Basic Authentication 標頭 — 即時將使用者名稱:密碼編碼為 Base64 Authorization 標頭
- 文字加密解密 使用 AES-GCM/AES-CBC 演算法安全加密解密文字,基於密碼,所有處理在瀏覽器本地完成,資料絕不離開裝置。
- AES加密/解密 AES加密解密工具,支援CBC、CFB、CTR、OFB、ECB模式,Pkcs7/ZeroPadding/NoPadding填充,128/192/256位元金鑰,Base64輸出,自動識別金鑰/IV格式
- RSA金鑰對產生 產生2048、3072、4096位元RSA金鑰對,PEM格式輸出,含指紋資訊。完全在瀏覽器中執行。
- SSH金鑰產生器 在瀏覽器中即時產生安全的SSH金鑰對(RSA、Ed25519、ECDSA)。免費線上工具,輸出OpenSSH格式,無需註冊。