A simple, correct TOTP library.
Time-based One-time Passwords are a useful way to authenticate a client, since a valid password expires long before it could ever be guessed by an attacker. This library provides an implementation of TOTP that matches its specification [RFC6238], along with a simple interface.
The totp
function is likely what you need. It uses the default time step
of 30 seconds and produces 8 digits of output:
```rust use std::time::{SystemTime, UNIXEPOCH}; use totplite::{totp, Sha512};
// Negotiated between you and the authenticating service. let password: &[u8] = b"secret";
// The number of seconds since the Unix Epoch. let seconds: u64 = SystemTime::now().durationsince(UNIXEPOCH).unwrap().as_secs();
// Specify the desired Hash algorithm via a type parameter.
// Sha1
and Sha256
are also available.
let result: String = totp::
For full control over how the algorithm is configured, consider
totp_custom
.
License: MIT