Command-line interface for HOTP and TOTP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
913 B

* otpcli - command-line interface for HOTP and TOTP
* Written in 2020-2021 by Lucas
* To the extent possible under law, the author(s) have dedicated all
* copyright and related and neighboring rights to this software to the
* public domain worldwide. This software is distributed without any
* warranty.
* You should have received a copy of the CC0 Public Domain Dedication
* along with this software. If not, see
* <>.
#include <stdint.h>
enum otp_type {
enum otp_hmac {
struct otpcfg {
enum otp_type type;
enum otp_hmac algorithm;
unsigned int digits;
const void *secret;
size_t secretlen;
union {
struct {
uint64_t counter;
} hotp;
struct {
uint64_t time;
unsigned int period;
} totp;
} u;
int32_t otp(const struct otpcfg *);