Pular para o conteúdo principal

Gerar um código de uso único baseado no tempo (utils.totp_next)

Declaração

codigo, mensagem_de_erro = utils.totp_next(timestamp, link[, chave])

Parâmetros

  • timestamp
    Inteiro: carimbo de data/hora Unix, em segundos; passe -1 para usar a hora atual
  • link
    Texto: link TOTP no formato otpauth://totp/...
  • chave
    Texto no formato Base32, parâmetro opcional; quando fornecida, será usada para gerar o código

Valores de retorno

  • código
    Texto: código de uso único gerado
  • mensagem de erro
    Texto: mensagem de erro retornada quando a geração falha

Descrição

Esta função está disponível somente a partir da versão 20260107.
Gera o código de uso único correspondente à hora atual com base no link TOTP.
O link normalmente precisa conter secret e pode conter digits, period e algorithm.
algorithm pode ser SHA1, SHA256 ou SHA512.

Exemplo

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