Перейти к основному содержимому

Генерация одноразового кода на основе времени (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