メインコンテンツまでスキップ

時刻ベースのワンタイムパスワードを生成 (utils.totp_next)

宣言

コード, エラーメッセージ = utils.totp_next(タイムスタンプ, リンク[, 秘密鍵])

引数

  • タイムスタンプ
    整数型。秒単位の Unix タイムスタンプ。-1 を指定すると現在時刻を使用する
  • リンク
    文字列型。otpauth://totp/... 形式の 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