feat: update encrypt

This commit is contained in:
2023-09-09 17:58:25 +08:00
parent c1dd71abc2
commit 29c95f3147

View File

@@ -1,11 +1,12 @@
use std::fs;
use std::path::PathBuf;
use clap::Args;
use rand::random;
use rust_util::{debugging, failure, simple_error, success, XResult};
use rust_util::{debugging, failure, opt_result, simple_error, success, XResult};
use crate::config::{TinyEncryptConfig, TinyEncryptConfigEnvelop};
use crate::spec::{TinyEncryptEnvelop, TinyEncryptEnvelopType};
use crate::spec::{EncMetadata, TinyEncryptEnvelop, TinyEncryptEnvelopType, TinyEncryptMeta};
use crate::util::TINY_ENC_CONFIG_FILE;
#[derive(Debug, Args)]
@@ -39,7 +40,17 @@ fn encrypt_single(path: &PathBuf, envelops: &[&TinyEncryptConfigEnvelop]) -> XRe
let (key, nonce) = make_key256_and_nonce();
let envelops = encrypt_envelops(&key, &envelops)?;
debugging!("Envelops: {:?}", envelops);
let file_metadata = opt_result!(fs::metadata(path), "Read file: {} meta failed: {}", path.display());
let enc_metadata = EncMetadata {
comment: None,
encrypted_comment: None,
encrypted_meta: None,
compress: false,
};
let _encrypt_meta = TinyEncryptMeta::new(&file_metadata, &enc_metadata, &nonce, envelops);
// TODO write to file and do encrypt
Ok(())
}