e588243b创建于 2025年5月23日历史提交

crypto_digest.h

概述

定义摘要算法API。

库: libohcrypto.so

引用文件: <CryptoArchitectureKit/crypto_digest.h>

系统能力: SystemCapability.Security.CryptoFramework

起始版本: 12

相关模块: CryptoDigestApi

汇总

结构体

名称 typedef关键字 描述
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_Create()

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

描述

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

起始版本: 12

参数:

参数项 描述
const char *algoName 用于生成摘要上下文的算法名称。
例如"SHA256"。
OH_CryptoDigest **ctx 指向摘要实例的指针。

返回:

类型 说明
OH_Crypto_ErrCode CRYPTO_SUCCESS = 0 : 操作成功。
CRYPTO_INVALID_PARAMS = 401 : 参数无效。
CRYPTO_NOT_SUPPORTED = 801 : 操作不支持。
CRYPTO_MEMORY_ERROR = 17620001 : 内存错误。
CRYPTO_OPERTION_ERROR = 17630001 : 调用三方算法库API出错。

OH_CryptoDigest_Update()

OH_Crypto_ErrCode OH_CryptoDigest_Update(OH_CryptoDigest *ctx, Crypto_DataBlob *in)

描述

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

起始版本: 12

参数:

参数项 描述
OH_CryptoDigest *ctx 指向摘要实例。
Crypto_DataBlob *in 传入的消息。

返回:

类型 说明
OH_Crypto_ErrCode CRYPTO_SUCCESS = 0 : 操作成功。
CRYPTO_INVALID_PARAMS = 401 : 参数无效。
CRYPTO_NOT_SUPPORTED = 801 : 操作不支持。
CRYPTO_MEMORY_ERROR = 17620001 : 内存错误。
CRYPTO_OPERTION_ERROR = 17630001 : 调用三方算法库API出错。

参考:

OH_CryptoDigest_Final

OH_CryptoDigest_Final()

OH_Crypto_ErrCode OH_CryptoDigest_Final(OH_CryptoDigest *ctx, Crypto_DataBlob *out)

描述

计算最终摘要。

起始版本: 12

参数:

参数项 描述
OH_CryptoDigest *ctx 指向摘要实例。
Crypto_DataBlob *out 返回的Md的计算结果。

返回:

类型 说明
OH_Crypto_ErrCode CRYPTO_SUCCESS = 0 : 操作成功。
CRYPTO_INVALID_PARAMS = 401 : 参数无效。
CRYPTO_NOT_SUPPORTED = 801 : 操作不支持。
CRYPTO_MEMORY_ERROR = 17620001 : 内存错误。
CRYPTO_OPERTION_ERROR = 17630001 : 调用三方算法库API出错。

参考:

OH_CryptoDigest_Update

OH_CryptoDigest_GetLength()

uint32_t OH_CryptoDigest_GetLength(OH_CryptoDigest *ctx)

描述

获取摘要长度。

起始版本: 12

参数:

参数项 描述
OH_CryptoDigest *ctx 指向摘要实例。

返回:

类型 说明
uint32_t 摘要长度。

OH_CryptoDigest_GetAlgoName()

const char *OH_CryptoDigest_GetAlgoName(OH_CryptoDigest *ctx)

描述

获取摘要算法。

起始版本: 12

参数:

参数项 描述
OH_CryptoDigest *ctx 指向摘要实例。

返回:

类型 说明
const char 返回摘要算法名。

OH_DigestCrypto_Destroy()

void OH_DigestCrypto_Destroy(OH_CryptoDigest *ctx)

描述

销毁摘要实例。

起始版本: 12

参数:

参数项 描述
OH_CryptoDigest *ctx 指向摘要实例。