Parent topic:MPLABĀ® Harmony Crypto Library
int CRYPT_TDES_KeySet(
    CRYPT_TDES_CTX* tdes, 
    const unsigned char* key, 
    const unsigned char* iv, 
    int dir
);
This function sets the key and initialization vector (IV) for a set of Triple-DES operations.
None.
| Parameters | Description | 
|---|---|
| tdes | Pointer to context which saves state between calls. | 
| key | Pointer to buffer holding the key. Must be 24 bytes in size. | 
| iv | Pointer to buffer holding the initialization vector. Must be 8 bytes in size. | 
| dir | Indicates whether encryption or decryption will be done. Can be set to CRYPT_TDES_ENCRYPTION for encryption operations or CRYPT_TDES_DECRYPTION for decryption operations. | 
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 a multiple of 8 bytes, and must be padded at the end with zeros to meet the length.
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);