Parent topic:MPLAB® Harmony Crypto Library
int CRYPT_HMAC_SetKey(
CRYPT_HMAC_CTX* hmac,
int type,
const unsigned char* key,
unsigned int sz
);
This function initializes the HMAC context and sets the key for the hash.
None.
Parameters | Description |
---|---|
hmac | Pointer to context that saves state between calls. |
type | Type of SHA operation to use with HMAC. Must be one of the following: CRYPT_HMAC_SHA, CRYPT_HMAC_SHA256, CRYPT_HMAC_SHA384, or CRYPT_HMAC_SHA512 |
key | Secret key used for the hash. |
sz | Size of the input data in bytes. |
-
BAD_FUNC_ARG - An invalid pointer was passed to the function.
-
0 - An invalid pointer was not passed to the function.
None.
CRYPT_HMAC_CTX mcHmac;
byte mcDigest[CRYPT_SHA512_DIGEST_SIZE];
CRYPT_HMAC_SetKey(&mcHmac, CRYPT_HMAC_SHA, key, 4);
CRYPT_HMAC_DataAdd(&mcHmac, ourData, OUR_DATA_SIZE);
CRYPT_HMAC_Finalize(&mcHmac, mcDigest);