aboutsummaryrefslogtreecommitdiff
path: root/src/zip/encryption.rs
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-07-16 20:08:01 +0900
committerIgor Tolmachev <me@igorek.dev>2024-07-16 20:08:01 +0900
commit9c0e544e79a4f7874dab449674a11d899bf61963 (patch)
tree89ce5177ede27b3966f9589e012887e8614a7b38 /src/zip/encryption.rs
parentcc18a545a87ca616f05114d174690e5cc9614669 (diff)
downloadarchivator-9c0e544e79a4f7874dab449674a11d899bf61963.tar.gz
archivator-9c0e544e79a4f7874dab449674a11d899bf61963.zip
Add tests and fix bugs
Diffstat (limited to 'src/zip/encryption.rs')
-rw-r--r--src/zip/encryption.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/zip/encryption.rs b/src/zip/encryption.rs
index 28a6bdb..76824a1 100644
--- a/src/zip/encryption.rs
+++ b/src/zip/encryption.rs
@@ -72,7 +72,7 @@ impl<Io: Read> WeakDecoder<Io> {
72 72
73 fn decode_byte(&mut self, byte: u8) -> u8 { 73 fn decode_byte(&mut self, byte: u8) -> u8 {
74 let key = self.key2 | 2; 74 let key = self.key2 | 2;
75 let byte = byte ^ ((key * (key ^ 1)) >> 8) as u8; 75 let byte = byte ^ ((key.wrapping_mul(key ^ 1)) >> 8) as u8;
76 self.update_keys(byte); 76 self.update_keys(byte);
77 byte 77 byte
78 } 78 }