Managed to generate a first secret
This commit is contained in:
19
src/main.rs
19
src/main.rs
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user