Skip to content

russellwmy/otp-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

otp-rs

RFC-complaint one-time password algorithms written in Rust.

The HMAC-based one-time password algorithm is implemented as per RFC4226. The time-based one-time password algorithm is implemented as per RFC 6238.

Installation

[dependencies]
otp-rs= "0.1"

HOTP Example

let otp = HOTP::new("secret");
/// Generate code with counter 0 input
let code = otp.generate(0).unwrap();

println!("{}", code);

TOTP Example

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);

About

RFC-complaint one-time password algorithms written in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages