feat: v0.2.5, show decrytped encrypted-message

This commit is contained in:
2023-10-11 01:09:20 +08:00
parent c35fef7bf1
commit 6d1d6ab085
4 changed files with 17 additions and 3 deletions

2
Cargo.lock generated
View File

@@ -2128,7 +2128,7 @@ dependencies = [
[[package]] [[package]]
name = "tiny-encrypt" name = "tiny-encrypt"
version = "0.2.4" version = "0.2.5"
dependencies = [ dependencies = [
"aes-gcm-stream", "aes-gcm-stream",
"base64", "base64",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "tiny-encrypt" name = "tiny-encrypt"
version = "0.2.4" version = "0.2.5"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
description = "A simple and tiny file encrypt tool" description = "A simple and tiny file encrypt tool"

View File

@@ -105,6 +105,19 @@ pub fn decrypt_single(config: &Option<TinyEncryptConfig>,
debugging!("Decrypt key: {}", hex::encode(&key)); debugging!("Decrypt key: {}", hex::encode(&key));
debugging!("Decrypt nonce: {}", hex::encode(&nonce)); debugging!("Decrypt nonce: {}", hex::encode(&nonce));
if let Some(encrypted_comment) = &meta.encrypted_comment {
match util::decode_base64(encrypted_comment) {
Err(e) => warning!("Decode encrypted comment failed: {}", e),
Ok(encrypted_comment_based_bytes) => match aes_gcm_decrypt(&key, &nonce, &encrypted_comment_based_bytes) {
Err(e) => warning!("Decode encrypted comment failed: {}", e),
Ok(decrypted_comment_bytes) => match String::from_utf8(decrypted_comment_bytes.clone()) {
Err(_) => success!("Encrypted message hex: {}", hex::encode(&decrypted_comment_bytes)),
Ok(message) => success!("Encrypted message: {}", message),
}
}
}
}
let mut file_out = File::create(path_out)?; let mut file_out = File::create(path_out)?;
let start = Instant::now(); let start = Instant::now();

View File

@@ -27,6 +27,7 @@ pub fn info(cmd_info: CmdInfo) -> XResult<()> {
warning!("Parse Tiny Encrypt file info failed: {}", e); warning!("Parse Tiny Encrypt file info failed: {}", e);
} }
} }
println!();
Ok(()) Ok(())
} }
@@ -95,7 +96,7 @@ pub fn info_single(path: &PathBuf, cmd_info: &CmdInfo) -> XResult<()> {
}; };
infos.push(format!("{}: {}", header("Encryption algorithm"), encryption_algorithm)); infos.push(format!("{}: {}", header("Encryption algorithm"), encryption_algorithm));
success!("{}\n", infos.join("\n")); success!("{}", infos.join("\n"));
Ok(()) Ok(())
} }