5个版本
0.0.5 | 2021年5月23日 |
---|---|
0.0.4 | 2021年5月22日 |
0.0.3 | 2021年5月22日 |
0.0.2 | 2021年5月22日 |
0.0.1 | 2021年4月13日 |
#1050 in 身份验证
23KB
479 行
Lugnut
Rust的一次性密码Crate
Lugnut仍在实验中,处于建设中。
Lugnut是一个支持规范兼容HOTP和TOTP生成和验证的一次性密码生成器。
示例
添加到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);
Lugnut即将推出
- 更好的测试覆盖率
- 支持OTP认证URL生成
- 支持TOTP的前向和后向窗口配置(目前只支持一个用于两个的值)
许可证
本项目采用MIT许可证依赖
~4MB
~84K SLoC