otp-rs

Crates.iootp-rs
lib.rsotp-rs
version0.1.1
sourcesrc
created_at2021-11-18 10:08:23.908459
updated_at2021-11-18 10:52:57.959486
descriptionRFC-complaint one-time password algorithms written in Rust
homepagehttps://github.com/russellwmy/otp-rs
repositoryhttps://github.com/russellwmy/otp-rs
max_upload_size
id483903
size8,424
Russell Wong (russellwmy)

documentation

README

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);
Commit count: 7

cargo fmt