生成基於時間的一次性驗證碼 (utils.totp_next)
聲明
驗證碼, 錯誤資訊 = utils.totp_next(時間戳, 連結[, 金鑰])
參數
- 時間戳
整數型,Unix 時間戳,單位為秒;傳入 -1 表示使用目前時間 - 連結
文字型,TOTP 連結,格式為otpauth://totp/... - 金鑰
文字型,Base32 格式,可選參數;傳入後將使用該金鑰生成驗證碼
回傳值
- 驗證碼
文字型,生成的一次性驗證碼 - 錯誤資訊
文字型,生成失敗時返回錯誤資訊
說明
該函式在 20260107 以後版本方可使用
根據 TOTP 連結生成目前時間對應的一次性驗證碼
連結中通常需要包含secret,可選包含digits、period、algorithm
algorithm可使用SHA1、SHA256或SHA512
範例
local url = "otpauth://totp/Demo:alice?secret=JBSWY3DPEHPK3PXP&issuer=Demo&digits=6&period=30&algorithm=SHA1"
local code, err = utils.totp_next(-1, url)
if code then
nLog(code)
else
nLog(err)
end