The OATH Toolkit makes it easy to build one-time password authentication systems. It contains shared libraries, commandline tools, and a PAM module. Supported technologies include the event-based HOTP algorithm (RFC4226) and the time-based TOTP algorithm (RFC6238). OATH stands for Open AuTHentication, which is the organization which specifies the algorithms. For managing secret key files, the Portable Symmetric Key Container (PSKC) format described in RFC6030 is supported.
The fstrcmp library provides an fstrcmp function that returns a number between 0.0 (nothing alike) and 1.0 (identical); this can be used to suggest likely alternatives in error messages. Fuzzy comparisons for byte arrays, wide character strings, and multi-byte character strings are also available. In addition, there are integer alternatives for systems with slow floating point emulation.