TOTP 產生與時鐘偏移測試
產生 SHA-1、SHA-256 或 SHA-512 的 6 位/8 位動態密碼,並檢查更新邊界前後的結果。
在私密的瀏覽器工作台中,比較 App 與伺服器輸出、排查時鐘漂移、驗證 otpauth 參數並產生測試 Fixture。
!請只使用臨時測試 Secret。儲存的設定僅留在目前瀏覽器中,且不會額外加密。
尚未儲存設定。
產生標準 otpauth URI,用 Spot Auth 掃描後比較 App 顯示的驗證碼。
產生固定的「時間 → TOTP」測試資料。
確認兩端 Secret、演算法、位數和週期一致。
掃描二維碼並比較 App 目前的驗證碼。
若錯誤發生在更新邊界,測試時間偏移。
修改 OTP 實作前先匯出固定向量。
同一套設定可檢查 Base32 密鑰、HMAC 演算法、位數、時間週期或計數器、otpauth 設定、驗證視窗與可重現測試資料。所有計算只在瀏覽器中完成。
產生 SHA-1、SHA-256 或 SHA-512 的 6 位/8 位動態密碼,並檢查更新邊界前後的結果。
使用同一個 Base32 密鑰產生計數器 OTP,逐步增加 Counter 以檢查同步。
建立標準設定 URI,用驗證器 App 掃描,再比較 App 與瀏覽器顯示的驗證碼。
在可設定視窗內驗證 OTP,並匯出固定的 Unix 時間→TOTP 資料供自動化測試使用。
兩者都從共享密鑰和 HMAC 衍生短驗證碼。TOTP 使用時間步,HOTP 使用持續遞增的計數器。
| TOTP · RFC 6238 | HOTP · RFC 4226 | |
|---|---|---|
| 移動因子 | 以固定週期切分的 Unix 時間 | 單調遞增的 Counter |
| 常見基準設定 | 30 秒 · 6 位 · HMAC-SHA-1 | 6 位 · HMAC-SHA-1 |
| 常見不符合原因 | 時鐘、週期、位數、演算法或密鑰 | 計數器不同步、位數或密鑰 |
可以。TOTP 從時間取得移動因子,HOTP 使用計數器;設定類型與伺服器驗證模式必須一致。
先確認密鑰、演算法、位數、週期與裝置時間。HOTP 還要確認 Counter;只在更新邊界失敗通常是時鐘偏移或驗證視窗問題。
不建議。請只用臨時測試密鑰;儲存設定會以未額外加密的形式留在目前瀏覽器。
不代表。仍需確認 issuer、帳戶標籤、演算法、位數、週期或計數器,並與伺服器結果對拍。