Skip to content

Commit 1106478

Browse files
author
replydev
committed
otp_helper source file
1 parent 9085003 commit 1106478

File tree

2 files changed

+38
-36
lines changed

2 files changed

+38
-36
lines changed

src/main.rs

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,10 @@
11
use std::env;
22
mod database_loader;
3-
use database_loader::OTPElement;
43
extern crate directories;
5-
extern crate otp;
6-
use otp::make_totp;
74
mod utils;
85
mod argument_functions;
6+
mod otp_helper;
97
mod cryptograpy;
10-
fn main() {
11-
let version = "0.0.6";
12-
print_title(version);
13-
let args: Vec<String> = env::args().collect();
14-
if !args_parser(args){
15-
utils::create_db_if_needed();
16-
show_codes();
17-
}
18-
}
198

209
#[cfg(debug_assertions)]
2110
fn print_title(version: &str){
@@ -30,30 +19,13 @@ fn print_title(version: &str){
3019
println!("written by @replydev\n");
3120
}
3221

33-
fn show_codes(){
34-
let elements: Vec<database_loader::OTPElement> = database_loader::read_from_file();
35-
for i in 0..elements.len() {
36-
print_totp(i,&elements[i]);
37-
}
38-
}
39-
40-
fn get_good_otp_code(element: &OTPElement) -> String {
41-
let otp = make_totp(
42-
&element.secret(), //we have replaced '=' in this method
43-
element.period(), 0).unwrap();
44-
let mut s_otp = otp.to_string();
45-
46-
while s_otp.len() < element.digits() as usize {
47-
s_otp = String::from("0") + &s_otp;
48-
}
49-
s_otp
50-
}
51-
52-
fn print_totp(i: usize,element: &OTPElement){
53-
if element.issuer() != ""{
54-
println!("{}) {} - {}: {}",i+1,element.issuer(),element.label(),get_good_otp_code(&element));
55-
}else{
56-
println!("{}) {}: {}",i+1,element.label(),get_good_otp_code(&element));
22+
fn main() {
23+
let version = "0.0.6";
24+
print_title(version);
25+
let args: Vec<String> = env::args().collect();
26+
if !args_parser(args){
27+
utils::create_db_if_needed();
28+
otp_helper::show_codes();
5729
}
5830
}
5931

src/otp_helper.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
use otp::make_totp;
2+
use super::database_loader;
3+
4+
5+
pub fn show_codes(){
6+
let elements: Vec<database_loader::OTPElement> = database_loader::read_from_file();
7+
for i in 0..elements.len() {
8+
print_totp(i,&elements[i]);
9+
}
10+
}
11+
12+
fn print_totp(i: usize,element: &database_loader::OTPElement){
13+
if element.issuer() != ""{
14+
println!("{}) {} - {}: {}",i+1,element.issuer(),element.label(),get_good_otp_code(&element));
15+
}else{
16+
println!("{}) {}: {}",i+1,element.label(),get_good_otp_code(&element));
17+
}
18+
}
19+
20+
fn get_good_otp_code(element: &database_loader::OTPElement) -> String {
21+
let otp = make_totp(
22+
&element.secret(), //we have replaced '=' in this method
23+
element.period(), 0).unwrap();
24+
let mut s_otp = otp.to_string();
25+
26+
while s_otp.len() < element.digits() as usize {
27+
s_otp = String::from("0") + &s_otp;
28+
}
29+
s_otp
30+
}

0 commit comments

Comments
 (0)