C
C
Encrypt / Decrypt a File and Verify it has not Changed
See more Encryption Examples
Demonstrates how to encrypt and decrypt a file, and verify it has not changed.Chilkat C Downloads
#include <C_CkCrypt2.h>
#include <C_CkFileAccess.h>
void ChilkatSample(void)
{
BOOL success;
HCkCrypt2 crypt;
const char *ivHex;
const char *keyHex;
const char *dataFile;
const char *outFile;
const char *outFile2;
HCkFileAccess fac;
BOOL bEqual;
success = FALSE;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
crypt = CkCrypt2_Create();
CkCrypt2_putCryptAlgorithm(crypt,"aes");
CkCrypt2_putCipherMode(crypt,"cbc");
CkCrypt2_putKeyLength(crypt,128);
CkCrypt2_putPaddingScheme(crypt,0);
ivHex = "000102030405060708090A0B0C0D0E0F";
CkCrypt2_SetEncodedIV(crypt,ivHex,"hex");
keyHex = "00010203040506071011121314151617";
CkCrypt2_SetEncodedKey(crypt,keyHex,"hex");
dataFile = "qa_data/zips/HBIQ040615300005.ZIP";
outFile = "qa_output/HBIQ040615300005.enc";
outFile2 = "qa_output/HBIQ040615300005.ZIP";
success = CkCrypt2_CkEncryptFile(crypt,dataFile,outFile);
success = CkCrypt2_CkDecryptFile(crypt,outFile,outFile2);
fac = CkFileAccess_Create();
bEqual = CkFileAccess_FileContentsEqual(fac,dataFile,outFile2);
if (bEqual != TRUE) {
printf("Decrypted file not equal to the original.\n");
}
else {
printf("Success.\n");
}
CkCrypt2_Dispose(crypt);
CkFileAccess_Dispose(fac);
}