CZipCryptograph Class Reference
#include <ZipCryptograph.h>
List of all members.
|
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) |
Detailed Description
The base class for cryptographs used in encryption and decryption of file data.
- See also:
- Encryption Methods: How to Best Protect Your Data
Member Enumeration Documentation
The encryption method.
- See also:
- Encryption Methods: How to Best Protect Your Data
- Enumerator:
-
| encStandard |
The traditional zip encryption. |
| encWinZipAes128 |
WinZip AES 128-bit encryption. |
| encWinZipAes192 |
WinZip AES 192-bit encryption. |
| encWinZipAes256 |
WinZip AES 256-bit encryption. |
| encNone |
Indicates no encryption. |
Member Function Documentation
| virtual bool CZipCryptograph::CanHandle |
( |
int |
iEncryptionMethod |
) |
[inline, virtual] |
Returns the value indicating whether the current compressor can handle the given encryption method.
- Parameters:
-
| iEncryptionMethod | The encryption method to test. Can be one of EncryptionMethod values. |
- Returns:
true, if the current compressor can handle the given encryption method; false otherwise.
Reimplemented in CZipCrc32Cryptograph.
| static CZipCryptograph* CZipCryptograph::CreateCryptograph |
( |
int |
iEncryptionMethod |
) |
[static] |
A factory method that creates an appropriate cryptograph for the given method.
- Parameters:
-
| iEncryptionMethod | The encryption method to create a cryptograph for. Can be one of EncryptionMethod values. |
- Returns:
- The new cryptograph. The caller is responsible for destroying the object. If the method is not supported, creates CZipCrc32Cryptograph.
| virtual void CZipCryptograph::Decode |
( |
char * |
pBuffer, |
|
|
DWORD |
uSize | |
|
) |
| | [pure virtual] |
Decodes the given data.
- Parameters:
-
| 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.
- Parameters:
-
| pBuffer | The buffer that holds the data to encode and that receives the results. |
| uSize | The size of pBuffer. |
Implemented in CZipCrc32Cryptograph.
The method called at the end of the decoding process.
- Parameters:
-
| currentFile | The file being decoded and extracted. |
| storage | The current CZipStorage. |
The method called at the end of the decoding process.
- Parameters:
-
| currentFile | The file being compressed and encoded. |
| storage | The current CZipStorage. |
| 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.
- Parameters:
-
- Returns:
- The total size of extra data for the given encryption method.
| 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.
- Parameters:
-
- Returns:
- The size of extra data at the end of the compression stream for the given encryption method.
| 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.
- Parameters:
-
- Returns:
- The size of extra data at the beginning of the compression stream for the given encryption method.
| virtual bool CZipCryptograph::InitDecode |
( |
CZipAutoBuffer & |
password, |
|
|
CZipFileHeader & |
currentFile, |
|
|
CZipStorage & |
storage | |
|
) |
| | [pure virtual] |
The method called when an existing file is opened for extraction.
- Parameters:
-
- Returns:
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.
- Parameters:
-
Implemented in CZipCrc32Cryptograph.
| static bool CZipCryptograph::IsEncryptionSupported |
( |
int |
iEncryptionMethod |
) |
[inline, static] |
Determines if the given encryption method is supported by the current compilation of the ZipArchive Library.
- Parameters:
-
| iEncryptionMethod | The encryption method to test. Can be one of EncryptionMethod values. |
- Returns:
true, if the method is supported; false otherwise.
| static bool CZipCryptograph::IsWinZipAesEncryption |
( |
int |
iEncryptionMethod |
) |
[inline, static] |
Determines if the given method is one of the WinZip AES encryption method.
- Parameters:
-
| iEncryptionMethod | The encryption method to test. Can be one of EncryptionMethod values. |
- Returns:
true, if the method is one the WinZip AES encryption methods; false otherwise.
The documentation for this class was generated from the following file: