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]]
name = "tiny-encrypt"
version = "0.2.4"
version = "0.2.5"
dependencies = [
"aes-gcm-stream",
"base64",

View File

@@ -1,6 +1,6 @@
[package]
name = "tiny-encrypt"
version = "0.2.4"
version = "0.2.5"
edition = "2021"
license = "MIT"
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 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 start = Instant::now();

View File

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