From cc18a545a87ca616f05114d174690e5cc9614669 Mon Sep 17 00:00:00 2001 From: Igor Tolmachev Date: Tue, 16 Jul 2024 17:24:33 +0900 Subject: Optimize encryption - Add archive for testing encryption of compressed files - Implement incorrect password check - Use custom crc32 function --- src/archive.rs | 42 +++++------------------------------------- 1 file changed, 5 insertions(+), 37 deletions(-) (limited to 'src/archive.rs') diff --git a/src/archive.rs b/src/archive.rs index 73c515c..d49689d 100644 --- a/src/archive.rs +++ b/src/archive.rs @@ -1,5 +1,5 @@ use crate::driver::{ArchiveRead, ArchiveWrite, Driver}; -use crate::{ArchiveFile, ArchiveResult}; +use crate::ArchiveResult; use std::fs::File; use std::io::{Read, Write}; use std::path::Path; @@ -48,51 +48,19 @@ where self.get_file_info_by_index(self.get_file_index(name)?) } - fn get_file_reader_by_index_with_optional_password<'d>( - &'d mut self, - index: usize, - password: Option<&str>, - ) -> ArchiveResult>, D::Error> { - Ok(ArchiveFile::new( - self.driver.get_file_reader(index, password)?, - )) - } - - #[inline] pub fn get_file_reader_by_index<'d>( &'d mut self, index: usize, - ) -> ArchiveResult>, D::Error> { - self.get_file_reader_by_index_with_optional_password(index, None) - } - - #[inline] - pub fn get_file_reader_by_index_with_password<'d>( - &'d mut self, - index: usize, - password: &str, - ) -> ArchiveResult>, D::Error> { - self.get_file_reader_by_index_with_optional_password(index, Some(password)) + ) -> ArchiveResult, D::Error> { + self.driver.get_file_reader(index) } #[inline] pub fn get_file_reader_by_name<'d>( &'d mut self, name: &str, - ) -> ArchiveResult>, D::Error> { - self.get_file_reader_by_index_with_optional_password(self.get_file_index(name)?, None) - } - - #[inline] - pub fn get_file_reader_by_name_with_password<'d>( - &'d mut self, - name: &str, - password: &str, - ) -> ArchiveResult>, D::Error> { - self.get_file_reader_by_index_with_optional_password( - self.get_file_index(name)?, - Some(password), - ) + ) -> ArchiveResult, D::Error> { + self.get_file_reader_by_index(self.get_file_index(name)?) } } -- cgit v1.2.3