5 releases
0.0.5 | May 23, 2021 |
---|---|
0.0.4 | May 22, 2021 |
0.0.3 | May 22, 2021 |
0.0.2 | May 22, 2021 |
0.0.1 | Apr 13, 2021 |
#1144 in Authentication
23KB
479 lines
Lugnut
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.
Examples
Add to Cargo.toml
[dependencies]
lugnut = "0.1.0
HOTP
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);
TOTP
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);
Upcoming for Lugnut
- 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
License
This project is licensed under the MIT LicenseDependencies
~5MB
~74K SLoC