12个不稳定版本 (3个破坏性版本)

0.4.1 2019年8月23日
0.4.0 2019年7月29日
0.3.0 2019年7月29日
0.2.7 2018年10月29日
0.2.1 2015年6月27日

#455 in 身份验证

Download history 48/week @ 2024-03-13 39/week @ 2024-03-20 72/week @ 2024-03-27 161/week @ 2024-04-03 77/week @ 2024-04-10 74/week @ 2024-04-17 48/week @ 2024-04-24 29/week @ 2024-05-01 21/week @ 2024-05-08 31/week @ 2024-05-15 67/week @ 2024-05-22 106/week @ 2024-05-29 58/week @ 2024-06-05 120/week @ 2024-06-12 79/week @ 2024-06-19 45/week @ 2024-06-26

311 每月下载量
2 crate 中使用

MIT 许可证

11KB
114

otpauth-rs

Build Status Build status Coverage Status Crates.io

为Rust提供HOTP/TOTP两步验证。

安装

将其添加到您的 Cargo.toml

[dependencies]
otpauth = "0.3"

示例

HOTP示例

use otpauth::HOTP;


fn main() {
    let auth = HOTP::new("python");
    let code = auth.generate(4);
    assert_eq!(true, auth.verify(code, 0, 100));
}

TOTP示例

use std::time::{SystemTime, UNIX_EPOCH};

use otpauth::TOTP;


fn main() {
    let auth = TOTP::new("python");
    let timestamp1 = SystemTime::now().duration_since(UNIX_EPOCH)?.as_secs();
    let code = auth.generate(30, timestamp1);
    let timestamp2 = SystemTime::now().duration_since(UNIX_EPOCH)?.as_secs();
    assert_eq!(true, auth.verify(code, 30, timestamp2));
}

许可证

本作品在MIT许可证下发布。许可证副本可在LICENSE文件中找到。

依赖

~7.5MB
~223K SLoC