1.49 CRYPT_HMAC_SetKey Function
C
int CRYPT_HMAC_SetKey(
CRYPT_HMAC_CTX* hmac,
int type,
const unsigned char* key,
unsigned int sz
);
Description
This function initializes the HMAC context and sets the key for the hash.
Preconditions
None.
Parameters
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. |
Returns
BAD_FUNC_ARG - An invalid pointer was passed to the function.
0 - An invalid pointer was not passed to the function.
Remarks
None.
Example
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);