This page looks best with JavaScript enabled

TOTP

OTP

OTP (one-time password) 不像靜態密碼容易被暴力破解。常見的刷卡認證簡訊中的動態密碼就是一種。

HOTP

HOTP 是使用 HMAC 的 OTP。其中 HMAC 使用的 message 為 count。

TOTP

TOTP 是使用 時間 作為 message 的 HOTP。

時間

使用 Unix epoch timestamp 對 30sec(預設值) 取商

計算過程

  1. 先計算 hmac 值: hmac = HMAC(key, message)。
  2. 取 hmac 的最後 4 個 bit 的值作為 i。
  3. 再透過 i 取出 hmac 中的 31 bit,從 bit 8(i-1)+1 到 8(i+3)-1
  4. 轉為十進位去最後 6 位(預設值)