5fe99532创建于 2024年7月17日历史提交

CryptoDigestApi

概述

为应用提供摘要算法的相关接口。

起始版本: 12

汇总

文件

名称 描述
crypto_digest.h 定义摘要算法API。

类型定义

名称 描述
typedef struct OH_CryptoDigest OH_CryptoDigest 定义摘要结构体。

函数

名称 描述
OH_Crypto_ErrCode OH_CryptoDigest_Create (const char *algoName, OH_CryptoDigest **ctx) 根据给定的算法名称创建一个摘要实例。
OH_Crypto_ErrCode OH_CryptoDigest_Update (OH_CryptoDigest *ctx, Crypto_DataBlob *in) 传入消息进行摘要更新计算。
OH_Crypto_ErrCode OH_CryptoDigest_Final (OH_CryptoDigest *ctx, Crypto_DataBlob *out) 计算最终摘要。
uint32_t OH_CryptoDigest_GetLength (OH_CryptoDigest *ctx) 获取摘要长度。
const char * OH_CryptoDigest_GetAlgoName (OH_CryptoDigest *ctx) 获取摘要算法。
void OH_DigestCrypto_Destroy (OH_CryptoDigest *ctx) 销毁摘要实例。

类型定义说明

OH_CryptoDigest

typedef struct OH_CryptoDigestOH_CryptoDigest

描述

定义摘要结构体。

起始版本: 12

函数说明

OH_CryptoDigest_Create()

OH_Crypto_ErrCode OH_CryptoDigest_Create (const char *algoName, OH_CryptoDigest **ctx )

描述

根据给定的算法名称创建一个摘要实例。

起始版本: 12

参数:

名称 描述
algoName 用于生成摘要实例的算法名称。例如:"SHA256"
ctx 指向摘要实例的指针。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

17630001 - 调用三方算法库API出错。

OH_CryptoDigest_Final()

OH_Crypto_ErrCode OH_CryptoDigest_Final (OH_CryptoDigest *ctx, Crypto_DataBlob *out )

描述

计算最终摘要。

起始版本: 12

参数:

名称 描述
ctx 指向摘要实例。
out 返回的Md的计算结果。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

17630001 - 调用三方算法库API出错。

参见:

OH_CryptoDigest_Update

OH_CryptoDigest_GetAlgoName()

const char* OH_CryptoDigest_GetAlgoName (OH_CryptoDigest *ctx)

描述

获取摘要算法。

起始版本: 12

参数:

名称 描述
ctx 指向摘要实例。

返回:

摘要算法名。

OH_CryptoDigest_GetLength()

uint32_t OH_CryptoDigest_GetLength (OH_CryptoDigest *ctx)

描述

获取摘要长度。

起始版本: 12

参数:

名称 描述
ctx 指向摘要实例。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

17630001 - 调用三方算法库API出错。

OH_CryptoDigest_Update()

OH_Crypto_ErrCode OH_CryptoDigest_Update (OH_CryptoDigest *ctx, Crypto_DataBlob *in )

描述

传入消息进行摘要更新计算。

起始版本: 12

参数:

名称 描述
ctx 指向摘要实例。
in 传入的消息。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

17630001 - 调用三方算法库API出错。

参见:

OH_CryptoDigest_Final

OH_DigestCrypto_Destroy()

void OH_DigestCrypto_Destroy (OH_CryptoDigest *ctx)

描述

销毁摘要实例。

起始版本: 12

参数:

名称 描述
ctx 指向摘要实例。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

17630001 - 调用三方算法库API出错。