oath\_hotp\_validate(3) liboath oath\_hotp\_validate(3)

# [NAME](#NAME)

oath\_hotp\_validate - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;oath.h&gt;**

**int oath\_hotp\_validate(const char * secret, size\_t secret\_length, uint64\_t start\_moving\_factor, size\_t window, const char * otp);**

# [ARGUMENTS](#ARGUMENTS)

[const char * secret](#const)

the shared secret string

[size\_t secret\_length](#size_t)

length of *secret*

[uint64\_t start\_moving\_factor](#uint64_t)

start counter in OTP stream

[size\_t window](#size_t~2)

how many OTPs after start counter to test

[const char * otp](#const~2)

the OTP to validate.

# [DESCRIPTION](#DESCRIPTION)

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](#RETURNS)

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.

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;oath-toolkit-help@nongnu.org&gt;. liboath home page: https://www.nongnu.org/oath-toolkit/ General help using GNU software: http://www.gnu.org/gethelp/

# [COPYRIGHT](#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.

2.6.12-dirty liboath

---

Document: oath_hotp_validate(3) from oath-toolkit 2.6.12-r13 (Chainguard OS)
Source: https://gitlab.com/oath-toolkit/oath-toolkit.git
