生成基于时间的一次性验证码 (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