MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | hashcrypt_hash_ctx_t |
Storage type used to save hash context. More... | |
Macros | |
#define | HASHCRYPT_HASH_CTX_SIZE 22 |
HASHCRYPT HASH Context size. More... | |
Typedefs | |
typedef void(* | hashcrypt_callback_t )(HASHCRYPT_Type *base, hashcrypt_hash_ctx_t *ctx, status_t status, void *userData) |
HASHCRYPT background hash callback function. More... | |
Functions | |
status_t | HASHCRYPT_SHA (HASHCRYPT_Type *base, hashcrypt_algo_t algo, const uint8_t *input, size_t inputSize, uint8_t *output, size_t *outputSize) |
Create HASH on given data. More... | |
status_t | HASHCRYPT_SHA_Init (HASHCRYPT_Type *base, hashcrypt_hash_ctx_t *ctx, hashcrypt_algo_t algo) |
Initialize HASH context. More... | |
status_t | HASHCRYPT_SHA_Update (HASHCRYPT_Type *base, hashcrypt_hash_ctx_t *ctx, const uint8_t *input, size_t inputSize) |
Add data to current HASH. More... | |
status_t | HASHCRYPT_SHA_Finish (HASHCRYPT_Type *base, hashcrypt_hash_ctx_t *ctx, uint8_t *output, size_t *outputSize) |
Finalize hashing. More... | |
struct hashcrypt_hash_ctx_t |
Data Fields | |
uint32_t | x [HASHCRYPT_HASH_CTX_SIZE] |
storage | |
#define HASHCRYPT_HASH_CTX_SIZE 22 |
typedef void(* hashcrypt_callback_t)(HASHCRYPT_Type *base, hashcrypt_hash_ctx_t *ctx, status_t status, void *userData) |
status_t HASHCRYPT_SHA | ( | HASHCRYPT_Type * | base, |
hashcrypt_algo_t | algo, | ||
const uint8_t * | input, | ||
size_t | inputSize, | ||
uint8_t * | output, | ||
size_t * | outputSize | ||
) |
Perform the full SHA in one function call. The function is blocking.
base | HASHCRYPT peripheral base address | |
algo | Underlaying algorithm to use for hash computation. | |
input | Input data | |
inputSize | Size of input data in bytes | |
[out] | output | Output hash data |
[out] | outputSize | Output parameter storing the size of the output hash in bytes |
status_t HASHCRYPT_SHA_Init | ( | HASHCRYPT_Type * | base, |
hashcrypt_hash_ctx_t * | ctx, | ||
hashcrypt_algo_t | algo | ||
) |
This function initializes the HASH.
base | HASHCRYPT peripheral base address | |
[out] | ctx | Output hash context |
algo | Underlaying algorithm to use for hash computation. |
status_t HASHCRYPT_SHA_Update | ( | HASHCRYPT_Type * | base, |
hashcrypt_hash_ctx_t * | ctx, | ||
const uint8_t * | input, | ||
size_t | inputSize | ||
) |
Add data to current HASH. This can be called repeatedly with an arbitrary amount of data to be hashed. The functions blocks. If it returns kStatus_Success, the running hash has been updated (HASHCRYPT has processed the input data), so the memory at input
pointer can be released back to system. The HASHCRYPT context buffer is updated with the running hash and with all necessary information to support possible context switch.
base | HASHCRYPT peripheral base address | |
[in,out] | ctx | HASH context |
input | Input data | |
inputSize | Size of input data in bytes |
status_t HASHCRYPT_SHA_Finish | ( | HASHCRYPT_Type * | base, |
hashcrypt_hash_ctx_t * | ctx, | ||
uint8_t * | output, | ||
size_t * | outputSize | ||
) |
Outputs the final hash (computed by HASHCRYPT_HASH_Update()) and erases the context.
base | HASHCRYPT peripheral base address | |
[in,out] | ctx | Input hash context |
[out] | output | Output hash data |
[in,out] | outputSize | Optional parameter (can be passed as NULL). On function entry, it specifies the size of output[] buffer. On function return, it stores the number of updated output bytes. |