[][src]Crate otpauth

Two-step verification of HOTP/TOTP.

Installation

Add it to your Cargo.toml:

[dependencies]
otpauth = "0.3"

Examples

HOTP example

extern crate otpauth;

use otpauth::HOTP;

fn main() {
    let auth = HOTP::new("python");
    let code = auth.generate(4);
    assert_eq!(true, auth.verify(code, 0, 100));
}

TOTP example

use std::time::{SystemTime, UNIX_EPOCH};

use otpauth::TOTP;


fn main() {
    let auth = TOTP::new("python");
    let timestamp1 = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs();
    let code = auth.generate(30, timestamp1);
    let timestamp2 = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs();
    assert_eq!(true, auth.verify(code, 30, timestamp2));
}

Structs

HOTP

Two-step verfication of HOTP algorithm.

TOTP

Two-step verification of TOTP algorithm