27#include "crypt_algid.h"
28#include "crypt_types.h"
34typedef struct EAL_MdCtx CRYPT_EAL_MdCtx;
36#define CRYPT_EAL_MdCTX CRYPT_EAL_MdCtx
214 uint32_t inLen, uint8_t *out, uint32_t *outLen);
CRYPT_MD_AlgId
定义 crypt_algid.h:68
int32_t CRYPT_EAL_Md(CRYPT_MD_AlgId id, const uint8_t *in, uint32_t inLen, uint8_t *out, uint32_t *outLen)
Calculate the data digest. Not supported in provider
void CRYPT_EAL_MdFreeCtx(CRYPT_EAL_MdCtx *ctx)
Release the MD context.
int32_t CRYPT_EAL_MdFinal(CRYPT_EAL_MdCtx *ctx, uint8_t *out, uint32_t *len)
Complete the digest and output the final digest result.
int32_t CRYPT_EAL_MdDeinit(CRYPT_EAL_MdCtx *ctx)
Deinitialize the function.
int32_t CRYPT_EAL_MdGetId(CRYPT_EAL_MdCtx *ctx)
Return the MD algorithm ID.
void CRYPT_EAL_MdMBFreeCtx(CRYPT_EAL_MdCtx *ctx)
Release MB context created by CRYPT_EAL_MdMBNewCtx.
CRYPT_EAL_MdCtx * CRYPT_EAL_MdDupCtx(const CRYPT_EAL_MdCtx *ctx)
Dup the MD context.
int32_t CRYPT_EAL_MdMBUpdate(CRYPT_EAL_MdCtx *ctx, const uint8_t *data[], uint32_t nbytes[], uint32_t num)
Update multi-buffer MD context with message fragments.
CRYPT_EAL_MdCtx * CRYPT_EAL_ProviderMdNewCtx(CRYPT_EAL_LibCtx *libCtx, int32_t algId, const char *attrName)
Create a md context in the providers.
CRYPT_EAL_MdCtx * CRYPT_EAL_MdMBNewCtx(CRYPT_EAL_LibCtx *libCtx, int32_t id, uint32_t num)
Create a MD context for multi-buffer hash computation.
int32_t CRYPT_EAL_MdCopyCtx(CRYPT_EAL_MdCtx *to, const CRYPT_EAL_MdCtx *from)
Copy the MD context.
int32_t CRYPT_EAL_MdUpdate(CRYPT_EAL_MdCtx *ctx, const uint8_t *data, uint32_t len)
Continuously input the data to be digested.
uint32_t CRYPT_EAL_MdGetDigestSize(CRYPT_MD_AlgId id)
Obtain the digest length of the algorithm output. Not supported in provider
bool CRYPT_EAL_MdIsValidAlgId(CRYPT_MD_AlgId id)
Check whether the id is valid MD algorithm ID. Not supported in provider
CRYPT_EAL_MdCtx * CRYPT_EAL_MdNewCtx(CRYPT_MD_AlgId id)
Create the MD context.
int32_t CRYPT_EAL_MdMBInit(CRYPT_EAL_MdCtx *ctx)
Initialize multi-buffer MD context.
int32_t CRYPT_EAL_MdSqueeze(CRYPT_EAL_MdCtx *ctx, uint8_t *out, uint32_t len)
Generate output from the sponge construction's squeezing phase.
int32_t CRYPT_EAL_MdMBFinal(CRYPT_EAL_MdCtx *ctx, uint8_t *digest[], uint32_t *outlen, uint32_t num)
Finalize multi-buffer MD context and output digests.
int32_t CRYPT_EAL_ProviderMd(CRYPT_EAL_LibCtx *libCtx, CRYPT_MD_AlgId id, const char *attrName, const uint8_t *in, uint32_t inLen, uint8_t *out, uint32_t *outLen)
Calculate the data digest. Supported in provider
int32_t CRYPT_EAL_MdInit(CRYPT_EAL_MdCtx *ctx)
Initialize the MD context.