14TOTP::TOTP(
const uint8_t key[],
size_t key_len, std::string_view hash_algo,
size_t digits,
size_t time_step) :
15 m_hotp(key, key_len, hash_algo, digits),
16 m_time_step(time_step),
17 m_unix_epoch(
calendar_point(1970, 1, 1, 0, 0, 0).to_std_timepoint()) {
22 BOTAN_ARG_CHECK(m_time_step > 0 && m_time_step < 300,
"Invalid TOTP time step");