#include <ZipCryptograph.h>
Public Types | |
enum | EncryptionMethod { encStandard, encWinZipAes128, encWinZipAes192, encWinZipAes256, encNone = 0xFF } |
Public Member Functions | |
virtual bool | CanHandle (int iEncryptionMethod) |
virtual void | Decode (char *pBuffer, DWORD uSize)=0 |
virtual void | Encode (char *pBuffer, DWORD uSize)=0 |
virtual void | FinishDecode (CZipFileHeader ¤tFile, CZipStorage &storage) |
virtual void | FinishEncode (CZipFileHeader ¤tFile, CZipStorage &storage) |
virtual bool | InitDecode (CZipAutoBuffer &password, CZipFileHeader ¤tFile, CZipStorage &storage)=0 |
virtual void | InitEncode (CZipAutoBuffer &password, CZipFileHeader ¤tFile, CZipStorage &storage)=0 |
Static Public Member Functions | |
static CZipCryptograph * | CreateCryptograph (int iEncryptionMethod) |
static DWORD | GetEncryptedInfoSize (int iEncryptionMethod) |
static DWORD | GetEncryptedInfoSizeAfterData (int iEncryptionMethod) |
static DWORD | GetEncryptedInfoSizeBeforeData (int iEncryptionMethod) |
static bool | IsEncryptionSupported (int iEncryptionMethod) |
static bool | IsWinZipAesEncryption (int iEncryptionMethod) |
Definition at line 41 of file ZipCryptograph.h.
The encryption method.
Definition at line 51 of file ZipCryptograph.h.
virtual bool CZipCryptograph::CanHandle | ( | int | iEncryptionMethod | ) | [inline, virtual] |
Returns the value indicating whether the current compressor can handle the given encryption method.
iEncryptionMethod | The encryption method to test. It can be one of the EncryptionMethod values. |
true
, if the current compressor can handle the given encryption method; false
otherwise. Reimplemented in CZipCrc32Cryptograph.
Definition at line 220 of file ZipCryptograph.h.
static CZipCryptograph* CZipCryptograph::CreateCryptograph | ( | int | iEncryptionMethod | ) | [static] |
A factory method that creates an appropriate cryptograph for the given method.
iEncryptionMethod | The encryption method to create a cryptograph for. It can be one of the EncryptionMethod values. |
virtual void CZipCryptograph::Decode | ( | char * | pBuffer, | |
DWORD | uSize | |||
) | [pure virtual] |
Decodes the given data.
pBuffer | The buffer that holds the data to decode and that receives the results. | |
uSize | The size of pBuffer. |
Implemented in CZipCrc32Cryptograph.
virtual void CZipCryptograph::Encode | ( | char * | pBuffer, | |
DWORD | uSize | |||
) | [pure virtual] |
Encodes the given data.
pBuffer | The buffer that holds the data to encode and that receives the results. | |
uSize | The size of pBuffer. |
Implemented in CZipCrc32Cryptograph.
virtual void CZipCryptograph::FinishDecode | ( | CZipFileHeader & | currentFile, | |
CZipStorage & | storage | |||
) | [inline, virtual] |
The method called at the end of the decoding process.
currentFile | The file being decoded and extracted. | |
storage | The current CZipStorage. |
Definition at line 198 of file ZipCryptograph.h.
virtual void CZipCryptograph::FinishEncode | ( | CZipFileHeader & | currentFile, | |
CZipStorage & | storage | |||
) | [inline, virtual] |
The method called at the end of the decoding process.
currentFile | The file being compressed and encoded. | |
storage | The current CZipStorage. |
Definition at line 209 of file ZipCryptograph.h.
static DWORD CZipCryptograph::GetEncryptedInfoSize | ( | int | iEncryptionMethod | ) | [static] |
Returns the total size of the extra data that is added to the compression stream during encryption with the given method.
iEncryptionMethod | The encryption method. It can be one of the EncryptionMethod values. |
static DWORD CZipCryptograph::GetEncryptedInfoSizeAfterData | ( | int | iEncryptionMethod | ) | [static] |
Returns the size of the extra data that is added after the compression stream during encryption with the given method.
iEncryptionMethod | The encryption method. It can be one of the EncryptionMethod values. |
static DWORD CZipCryptograph::GetEncryptedInfoSizeBeforeData | ( | int | iEncryptionMethod | ) | [static] |
Returns the size of the extra data that is added before the compression stream during encryption with the given method.
iEncryptionMethod | The encryption method. It can be one of the EncryptionMethod values. |
virtual bool CZipCryptograph::InitDecode | ( | CZipAutoBuffer & | password, | |
CZipFileHeader & | currentFile, | |||
CZipStorage & | storage | |||
) | [pure virtual] |
The method called when an existing file is opened for extraction.
password | The supplied password with the CZipArchive::SetPassword method. | |
currentFile | The file being decoded and extracted. | |
storage | The current CZipStorage. |
true
, if the password is initially considered correct; false
otherwise. Implemented in CZipCrc32Cryptograph.
virtual void CZipCryptograph::InitEncode | ( | CZipAutoBuffer & | password, | |
CZipFileHeader & | currentFile, | |||
CZipStorage & | storage | |||
) | [pure virtual] |
The method called when a new file is opened for compression.
password | The supplied password with the CZipArchive::SetPassword method. | |
currentFile | The file being compressed and encoded. | |
storage | The current CZipStorage. |
Implemented in CZipCrc32Cryptograph.
static bool CZipCryptograph::IsEncryptionSupported | ( | int | iEncryptionMethod | ) | [inline, static] |
Returns the value indicating whether the given encryption method is supported by the current compilation of the ZipArchive Library.
iEncryptionMethod | The encryption method to test. It can be one of the EncryptionMethod values. |
true
, if the method is supported; false
otherwise. Definition at line 131 of file ZipCryptograph.h.
static bool CZipCryptograph::IsWinZipAesEncryption | ( | int | iEncryptionMethod | ) | [inline, static] |
Returns the value indicating whether the given method is one of the WinZip AES encryption methods.
iEncryptionMethod | The encryption method to test. It can be one of the EncryptionMethod values. |
true
, if the method is one the WinZip AES encryption methods; false
otherwise. Definition at line 81 of file ZipCryptograph.h.