openHiTLS API openHiTLS 0.1.0-Alpha1
crypt_eal_md.h
浏览该文件的文档.
1/*---------------------------------------------------------------------------------------------
2 * This file is part of the openHiTLS project.
3 * Copyright © 2023 Huawei Technologies Co.,Ltd. All rights reserved.
4 * Licensed under the openHiTLS Software license agreement 1.0. See LICENSE in the project root
5 * for license information.
6 *---------------------------------------------------------------------------------------------
7 */
8
15#ifndef CRYPT_EAL_MD_H
16#define CRYPT_EAL_MD_H
17
18#include <stdbool.h>
19#include <stdint.h>
20#include "crypt_algid.h"
21#include "crypt_types.h"
22#include "crypt_method.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif // __cplusplus
27
28typedef struct EAL_MdCtx CRYPT_EAL_MdCTX;
29
41
51
61
72
84
94
104
118int32_t CRYPT_EAL_MdUpdate(CRYPT_EAL_MdCTX *ctx, const uint8_t *data, uint32_t len);
119
134int32_t CRYPT_EAL_MdFinal(CRYPT_EAL_MdCTX *ctx, uint8_t *out, uint32_t *len);
135
145
159int32_t CRYPT_EAL_Md(CRYPT_MD_AlgId id, const uint8_t *in, uint32_t inLen, uint8_t *out, uint32_t *outLen);
160
170
171#ifdef __cplusplus
172}
173#endif // __cplusplus
174
175#endif // CRYPT_EAL_MD_H
struct EAL_MdCtx CRYPT_EAL_MdCTX
Definition crypt_eal_md.h:28
CRYPT_MD_AlgId
Definition crypt_algid.h:59
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
int32_t CRYPT_EAL_MdFinal(CRYPT_EAL_MdCTX *ctx, uint8_t *out, uint32_t *len)
Complete the digest and output the final digest result.
CRYPT_MD_AlgId CRYPT_EAL_MdGetId(CRYPT_EAL_MdCTX *ctx)
Return the MD algorithm ID.
uint32_t CRYPT_EAL_MdDeinit(CRYPT_EAL_MdCTX *ctx)
Deinitialize the function.
int32_t CRYPT_EAL_MdUpdate(CRYPT_EAL_MdCTX *ctx, const uint8_t *data, uint32_t len)
Continuously input the data to be digested.
void CRYPT_EAL_MdFreeCtx(CRYPT_EAL_MdCTX *ctx)
Release the MD context.
CRYPT_EAL_MdCTX * CRYPT_EAL_MdNewCtx(CRYPT_MD_AlgId id)
Create the MD context.
int32_t CRYPT_EAL_MdInit(CRYPT_EAL_MdCTX *ctx)
Initialize the MD context.
CRYPT_EAL_MdCTX * CRYPT_EAL_MdDupCtx(const CRYPT_EAL_MdCTX *ctx)
Copy the MD context.
uint32_t CRYPT_EAL_MdGetDigestSize(CRYPT_MD_AlgId id)
Obtain the digest length of the algorithm output.
int32_t CRYPT_EAL_MdCopyCtx(CRYPT_EAL_MdCTX *to, const CRYPT_EAL_MdCTX *from)
Copy the MD context.
bool CRYPT_EAL_MdIsValidAlgId(CRYPT_MD_AlgId id)
Check whether the id is valid MD algorithm ID.