Parent topic:MPLABĀ® Harmony Crypto Library
int CRYPT_TDES_CBC_Encrypt(
    CRYPT_TDES_CTX* tdes, 
    unsigned char* out, 
    const unsigned char* in, 
    unsigned int inSz
);
This function encrypts a block of data using a Triple DES algorithm.
The context tdes must be set earlier using CRYPT_TDES_KeySet. The input block must be a multiple of 8 bytes long.
| Parameters | Description | 
|---|---|
| tdes | Pointer to context which saves state between calls. | 
| out | Pointer to output buffer to store the results. | 
| in | Pointer to input buffer for the source of the data. | 
| inSz | Size of the input data buffer. | 
BAD_FUNC_ARG - An invalid pointer was passed to the function.
0 - An invalid pointer was not passed to the function.
The input data must be padded at the end with zeros to make the length a multiple of 8.
CRYPT_TDES_CTX mcDes3;
int            ret;
byte           out1[TDES_SIZE];
byte           out2[TDES_SIZE];
strncpy((char*)key, "1234567890abcdefghijklmn", 24);
strncpy((char*)iv,  "12345678", 8);
ret = CRYPT_TDES_KeySet(&mcDes3, key, iv, CRYPT_TDES_ENCRYPTION);
ret = CRYPT_TDES_CBC_Encrypt(&mcDes3, out1, ourData, TDES_SIZE);
ret = CRYPT_TDES_KeySet(&mcDes3, key, iv, CRYPT_TDES_DECRYPTION);
ret = CRYPT_TDES_CBC_Decrypt(&mcDes3, out2, out1, TDES_TEST_SIZE);