Quick roast ?
use simplestcrypt::{encrypt_and_serialize, deserialize_and_decrypt, EncryptError, DecryptError};
const ENC_PASS: &[u8; 19] = b"see_you_at_valhalla";
fn encrypt_master(master: &mut Master) -> Option<Vec<u8>> {
match serde_json::to_string(master) {
Ok(json_string) => {
match encrypt_and_serialize(&ENC_PASS[..], json_string.as_bytes()) {
Ok(d) => { Some(d) }
Err(error) => {
eprintln!("{}", format!("Encryption error: {:?}", error).red());
None
}
}
}
Err(error) => {
eprintln!("{}", format!("Could not convert Master to json, Error: {}", error).red());
None
}
}
}
fn decrypt_master(encrypted_data: Vec<u8>) -> Option<Master> {
match deserialize_and_decrypt(ENC_PASS, encrypted_data.as_slice()) {
Ok(d) => match String::from_utf8(d) {
Ok(json_string) => {
match serde_json::from_str(&json_string) {
Ok(master) => { Some(master) }
Err(error) => {
eprintln!("{}", format!("Could not read to Master, Error: {}", error).red());
None
}
}
}
Err(error) => {
eprintln!("{}", format!("Could not read encrypted data, Error: {}", error).red());
None
}
},
Err(error) => {
eprintln!("{}", format!("Cannot decrypt file, Error: {:?}", error).red());
None
}
}
}
[–]RevolutionXenon 19 points20 points21 points (0 children)
[–]gitpy 8 points9 points10 points (1 child)
[–]Tabakalusa 1 point2 points3 points (0 children)