Scroll to navigation

oath_hotp_validate(3) liboath oath_hotp_validate(3)


oath_hotp_validate - API function


#include <oath.h>

int oath_hotp_validate(const char * secret, size_t secret_length, uint64_t start_moving_factor, size_t window, const char * otp);


const char * secret
the shared secret string
size_t secret_length
length of secret
uint64_t start_moving_factor
start counter in OTP stream
size_t window
how many OTPs after start counter to test
const char * otp
the OTP to validate.


Validate an OTP according to OATH HOTP algorithm per RFC 4226.

Currently only OTP lengths of 6, 7 or 8 digits are supported. This restrictions may be lifted in future versions, although some limitations are inherent in the protocol.


Returns position in OTP window (zero is first position), or OATH_INVALID_OTP if no OTP was found in OTP window, or an error code.


Report bugs to <>. liboath home page: General help using GNU software:


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.
2.6.7 liboath