oath_hotp_generate - API function

NAME  SYNOPSIS  ARGUMENTS  DESCRIPTION  RETURNS  REPORTING BUGS  COPYRIGHT 

NAME

oath_hotp_generate − API function

SYNOPSIS

#include <oath.h>

int oath_hotp_generate(const char * secret, size_t secret_length, uint64_t moving_factor, unsigned digits, bool add_checksum, size_t truncation_offset, char * output_otp);

ARGUMENTS

const char * secret

the shared secret string

size_t secret_length

length of secret

uint64_t moving_factor

a counter indicating the current OTP to generate

unsigned digits

number of requested digits in the OTP, excluding checksum

bool add_checksum

whether to add a checksum digit or not

size_t truncation_offset

use a specific truncation offset

char * output_otp

output buffer, must have room for the output OTP plus zero

DESCRIPTION

Generate a one−time−password using the HOTP algorithm as described in RFC 4226.

Use a value of OATH_HOTP_DYNAMIC_TRUNCATION for truncation_offset unless you really need a specific truncation offset.

To find out the size of the OTP you may use the OATH_HOTP_LENGTH() macro. The output_otp buffer must be have room for that length plus one for the terminating NUL.

Currently only values 6, 7 and 8 for digits are supported, and the add_checksum value is ignored. These restrictions may be lifted in future versions, although some limitations are inherent in the protocol.

RETURNS

On success, OATH_OK (zero) is returned, otherwise an error code is returned.

REPORTING BUGS

Report bugs to <[email protected]>. liboath home page: https://www.nongnu.org/oath-toolkit/ General help using GNU software: http://www.gnu.org/gethelp/

COPYRIGHT

Copyright © 2009-2020 Simon Josefsson.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.


Updated 2024-01-29 - jenkler.se | uex.se