23 lines
1.1 KiB
Plaintext
23 lines
1.1 KiB
Plaintext
|
|
The encryption can be either PKZIP 2.0 (weak) encryption, or
|
|
WinZip-compatible AES encryption, which is considered to be strong
|
|
and for that reason is preferred. In the WinZip AES option, there
|
|
are two different keystrengths supported: 128 bits and 256 bits.
|
|
|
|
The extra field, which I mentioned previously, specifies additional
|
|
metadata about the entry, which is strictly-speaking,
|
|
optional. These data are things like high-resolution timestamps,
|
|
data sizes that exceed 2^^32, and other encryption possibilities.
|
|
In each case the library that reads a zip file needs to be able to
|
|
correctly deal with the various fields, validating the values within
|
|
them.
|
|
|
|
Now, cross all that with the variety of usage patterns - creating a
|
|
zip, or reading, or extracting, or updating, or updating several
|
|
times. And also, remember that the metadata may change during
|
|
updates: an application can apply a password where none was used
|
|
previously, or it may wish to remove an entry from the zip entirely.
|
|
|
|
The huge variety of combinations of possibilities is what makes testing a
|
|
zip library so challenging.
|