Managed to generate a first secret

This commit is contained in:
2022-03-21 10:06:32 +01:00
parent c05a6469d9
commit 1a56ee42de
3 changed files with 128 additions and 23 deletions

View File

@ -1,4 +1,5 @@
use clap::Parser;
use totp_rfc6238::{HashAlgorithm, TotpGenerator};
/// TOTP - One Time Password generator
#[derive(Parser, Debug)]
@ -14,18 +15,20 @@ struct Args {
/// Size of generated secret
#[clap(short, long, default_value_t = 6)]
len: u32,
len: usize,
}
fn main() {
let args: Args = Args::parse();
let number = libotp::totp(
&args.secret.to_ascii_uppercase(),
args.len,
args.topt_step,
0,
);
let totp_generator = TotpGenerator::new()
.set_digit(args.len).unwrap()
.set_step(args.topt_step).unwrap()
.set_hash_algorithm(HashAlgorithm::SHA1)
.build();
println!("Secret len = {}", number.unwrap());
let key = base64::decode(args.secret).unwrap();
let code = totp_generator.get_code(&key);
println!("Secret len = {}", code);
}