-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.rs
56 lines (49 loc) · 1.4 KB
/
main.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#![cfg_attr(
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]
use passwordo::gen_methods::*;
use passwordo::password_info::PasswordInfo;
#[tauri::command]
fn generate_random_bytes_passwords(amount: usize, length: usize) -> Vec<PasswordInfo> {
let res: Vec<PasswordInfo> = (0..amount).map(|_| gen_random_bytes_hex(length)).collect();
res
}
#[tauri::command]
fn generate_nonsense_passwords(
amount: usize,
length: usize,
use_special: bool,
) -> Vec<PasswordInfo> {
let res: Vec<PasswordInfo> = (0..amount)
.map(|_| gen_nonsense(length, use_special))
.collect();
res
}
#[tauri::command]
fn generate_schemed_passwords(
amount: usize,
hash_length: usize,
is_inverted: bool,
list_of_words: Vec<String>,
use_special: bool,
) -> Vec<PasswordInfo> {
if list_of_words.is_empty() {
return vec![];
}
let mut words = list_of_words;
let res: Vec<PasswordInfo> = (0..amount)
.map(|_| gen_schemed(hash_length, is_inverted, &mut words, use_special))
.collect();
res
}
fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![
generate_nonsense_passwords,
generate_schemed_passwords,
generate_random_bytes_passwords
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}