A One-time Password Crate for Rust
Lugnut is still experimental and under construction.
Lugnut is a one-time password generator that supports specification compliant HOTP and TOTP generation and verification.
Add to Cargo.toml
[dependencies]
lugnut = "0.1.0
use lugnut::hotp::Hotp;
let key = String::from("SuperSecretKey");
let counter = 100;
let mut hotp = Hotp::new();
let code = hotp.generate(key, counter).expect("error generating hotp");
let verified = hotp.verify(code, key, counter).expect("error verifying hotp");
assert!(verified);
use lugnut::totp::Totp;
let key = String::from("SuperSecretKey");
let mut totp = Totp::new();
let code = totp.generate(key).expect("error generating totp");
let verified = totp.verify(code, key).expect("error verifying totp");
assert!(verified);
- Better Test Coverage
- Support for OTP Auth Url generation
- Support for forward and backward window configuration for TOTP (currently only support one value that is used for both