Name Description Size
aes.rs Implementation of the AES decryption for zip files. This was implemented according to the [WinZip specification](https://www.winzip.com/win/en/aes_info.html). Note that using CRC with AES depends on the used encryption specification, AE-1 or AE-2. If the file is marked as encrypted with AE-2 the CRC field is ignored, even if it isn't set to 0. 14797
aes_ctr.rs A counter mode (CTR) for AES to work with the encryption used in zip files. This was implemented since the zip specification requires the mode to not use a nonce and uses a different byte order (little endian) than NIST (big endian). See [AesCtrZipKeyStream] for more information. 9309
build.rs 239
compression.rs Possible ZIP compression methods. 7742
cp437.rs Convert a string in IBM codepage 437 to UTF-8 5105
crc32.rs Helper module to compute a CRC32 checksum 2816
extra_fields
lib.rs A library for reading and writing ZIP archives. ZIP is a format designed for cross-platform file "archiving". That is, storing a collection of files in a single datastream to make them easier to share between computers. Additionally, ZIP is able to compress and encrypt files in its archives. The current implementation is based on [PKWARE's APPNOTE.TXT v6.3.9](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) --- [`zip`](`crate`) has support for the most common ZIP archives found in common use. However, in special cases, there are some zip archives that are difficult to read or write. This is a list of supported features: | | Reading | Writing | | ------- | ------ | ------- | | Deflate | ✅ [->](`crate::ZipArchive::by_name`) | ✅ [->](`crate::write::FileOptions::compression_method`) | | Deflate64 | ✅ | | | Bzip2 | ✅ | ✅ | | LZMA | ✅ | | | AES encryption | ✅ | ✅ | | ZipCrypto deprecated encryption | ✅ | ✅ | 2023
read
read.rs Types for reading ZIP archives 68940
result.rs Error types that can be emitted from this library 2745
spec.rs TODO: maybe try to use this for parsing extra fields as well as writing them? 24630
types.rs Types that specify what is contained in a ZIP. 45189
unstable.rs 2140
write.rs Types for creating ZIP archives 94911
zipcrypto.rs Implementation of the ZipCrypto algorithm The following paper was used to implement the ZipCrypto algorithm: [https://courses.cs.ut.ee/MTAT.07.022/2015_fall/uploads/Main/dmitri-report-f15-16.pdf](https://courses.cs.ut.ee/MTAT.07.022/2015_fall/uploads/Main/dmitri-report-f15-16.pdf) 10054