2 个稳定版本
1.1.0 | 2024年2月9日 |
---|---|
1.0.0 | 2024年2月5日 |
0.1.1 |
|
0.1.0 |
|
#937 in 加密
每月 26 次下载
19KB
246 代码行
minotp
Rust 的极简 OTP 库。
许可证:MIT 或 Apache-2.0
使用方法
安装
将 minotp
添加到您的项目中。
cargo add minotp@1
还需要所有您想要的哈希库(例如,Rust Crypto 的 SHA1)。
cargo add sha1
TOTP(常用)
use minotp::*;
use sha1::Sha1;
let secret = b"test";
let totp = Totp::<Sha1>::from_bytes(secret, COMMON_INTERVAL).unwrap();
// Get remaining seconds
let _remaining_seconds = totp.remaining_sec();
// Get token as a 6-digit owned string
let _token = totp.gen_6_str();
// -- snip -- //
如果您必须处理一个 Base32 编码的秘密,请使用编码包对其进行解码。
例如,使用 data_encoding
。
use data_encoding::BASE32;
use minotp::*;
use sha1::Sha1;
let secret_base32_str = "ORSXG5A=";
let secret = BASE32.decode(secret_base32_str.as_bytes()).unwrap();
let totp = Totp::<Sha1>::from_bytes(&secret, COMMON_INTERVAL).unwrap();
let _token = totp.gen_6_str();
// -- snip -- //
发现任何错误吗?
你在开玩笑吧。 如果发现了,现在就提交一个问题!
依赖项
~340–690KB
~13K SLoC