Parent topic:MPLAB® Harmony Crypto Library
int CRYPT_SHA256_Finalize(
CRYPT_SHA256_CTX* sha256,
unsigned char* digest
);
This function finalizes the hash and puts the result into digest.
The SHA256 context must be initialized prior to calling this function. The context must not be modified by code outside of this function.
Parameters | Description |
---|---|
sha256 | Pointer to CRYPT_SHA256_CTX structure which holds the hash values. |
digest | Pointer to byte array to store hash result. |
-
BAD_FUNC_ARG - An invalid pointer was passed to the function, either in sha256 or digest.
-
0 - An invalid pointer was not passed to the function.
In order to preserve the validity of the SHA256 hash, nothing must modify the context holding variable between calls to CRYPT_SHA256_DataAdd and CRYPT_SHA256_Finalize.
CRYPT_SHA256_CTX sha256;
uint8_t buffer[1024];
uint8_t shaSum[SHA256_DIGEST_SIZE];
CRYPT_SHA256_Initialize(&sha256);
CRYPT_SHA256_DataAdd(&sha256, buffer, sizeof(buffer));
CRYPT_SHA256_Finalize(&sha256, shaSum);