# totp-rs This library permits the creation of 2FA authentification tokens per TOTP, the verification of said tokens, with configurable time skew, validity time of each token, algorithm and number of digits! ## How to use Add it to your `Cargo.toml`: ```toml [dependencies] totp-rs = "~0.2" ``` You can then do something like: ```Rust use totp_rs::{TOTP, Algorithm}; use std::time::SystemTime; let username = "example".to_string(); let totp = TOTP::new(Algorithm::SHA1, 6, 1, 30, "supersecret".to_string().into_bytes()); let time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH)?.as_secs(); let url = totp.get_url(format!("account:{}", username), "my-org.com".to_string()); println!("{}", url); let token = totp.generate(time); println!("{}", token); ```