hitotp

Crates.iohitotp
lib.rshitotp
version0.1.4
sourcesrc
created_at2023-11-16 09:11:39.102626
updated_at2023-11-17 03:46:53.637706
descriptionTOTP Library and Command Line Tool
homepage
repositoryhttps://gitee.com/1467792822/hitotp
max_upload_size
id1037454
size32,426
hunting (h1467792822)

documentation

README

hitotp

在crates.io上也搜索到几个和TOTP相关的,比如totp, 功能过于简单,还有totp_rs,功能很丰富.

本crate的特点在于:

  1. no_std,减少二进制大小的同时尽可能适用更多的场景.

  2. 依赖openssl的libcrypto.so,现有大部分的环境都具备,减少RUST代码的二进制大小

  3. 支持key为base32/base64编码或者未编码

  4. 支持sha1/sha256/sha512

  5. 同时提供库和命令行工具,库接口可方便用于服务端的验证, 命令行工具也可以通过cargo install安装使用.

Examle

let totp = hitotp::Totp::from_base32(key);
let code = totp.hash_now();

指定具体时间,在服务端验证时可能需要:

Example

let totp = hitotp::Totp::from_base32(key);
let now = hitotp::Totp::now();
let code = totp.hash(now - 30);
Commit count: 0

cargo fmt