totp-rs
This library permits the creation of 2FA authentification tokens per TOTP, the verification of said tokens, with configurable time skew, validity time of each token, algorithm and number of digits! Default features are kept as lightweight as possible to ensure small binaries and short compilation time
Features
qr
With optional feature "qr", you can use it to generate a base64 png qrcode
serde_support
With optional feature "serde_support", library-defined types will be Deserialize-able and Serialize-able
How to use
Add it to your Cargo.toml
:
[]
= "~0.6"
You can then do something like:
use SystemTime;
use ;
let totp = TOTP new;
let time = now
.duration_since.unwrap
.as_secs;
let url = totp.get_url;
println!;
let token = totp.generate;
println!;
With qrcode generation
Add it to your Cargo.toml
:
[]
= "~0.6"
= ["qr"]
You can then do something like:
use ;
let totp = TOTP new;
let code = totp.get_qr?;
println!;
With serde support
Add it to your Cargo.toml
:
[]
= "~0.6"
= ["serde_support"]