1个不稳定版本
0.1.1 | 2021年11月18日 |
---|---|
0.1.0 |
|
#15 in #一次性
每月 37 次下载
6KB
132 行
otp-rs
使用Rust编写的符合RFC的一次性密码算法。
基于HMAC的一次性密码算法实现符合RFC4226。基于时间的一次性密码算法实现符合RFC 6238。
安装
[dependencies]
otp-rs= "0.1"
HOTP示例
let otp = HOTP::new("secret");
/// Generate code with counter 0 input
let code = otp.generate(0).unwrap();
println!("{}", code);
TOTP示例
let otp = TOTP::new("secret");
/// Generate code with period and current timestamp
let timestamp = SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.as_secs();
let code = otp.generate(30, timestamp);
println!("{}", code);
依赖项
~735KB
~14K SLoC