table of contents
        
      
      
    | oath_hotp_generate(3) | liboath | oath_hotp_generate(3) | 
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 <oath-toolkit-help@nongnu.org>. liboath home page: http://www.gnu.org/software/liboath/ General help using GNU software: http://www.gnu.org/gethelp/
COPYRIGHT¶
Copyright © 2009-2016 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.
| 2.6.2 | liboath |