跳到主要内容

生成基于时间的一次性验证码 (utils.totp_next)

声明

验证码, 错误信息 = utils.totp_next(时间戳, 链接[, 密钥])

参数

  • 时间戳
    整数型,Unix 时间戳,单位为秒;传入 -1 表示使用当前时间
  • 链接
    文本型,TOTP 链接,格式为 otpauth://totp/...
  • 密钥
    文本型,Base32 格式,可选参数;传入后将使用该密钥生成验证码

返回值

  • 验证码
    文本型,生成的一次性验证码
  • 错误信息
    文本型,生成失败时返回错误信息

说明

该函数在 20260107 以后版本方可使用
根据 TOTP 链接生成当前时间对应的一次性验证码
链接中通常需要包含 secret,可选包含 digitsperiodalgorithm
algorithm 可使用 SHA1SHA256SHA512

示例

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