openharmony 鸿蒙 capi-crypto-mac-h

2025-06-12 浏览 (1)

crypto_mac.h

概述

定义MAC接口。

库: libohcrypto.so

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

系统能力: SystemCapability.Security.CryptoFramework

起始版本: 20

相关模块: CryptoMacApi

汇总

结构体

名称typedef关键字描述
OH_CryptoMacOH_CryptoMac定义MAC结构。

枚举

名称typedef关键字描述
CryptoMac_ParamTypeCryptoMac_ParamType定义MAC算法参数类型。

函数

名称描述
OH_Crypto_ErrCode OH_CryptoMac_Create(const char *algoName, OH_CryptoMac **ctx)根据给定的算法名称创建MAC实例。
OH_Crypto_ErrCode OH_CryptoMac_SetParam(OH_CryptoMac *ctx, CryptoMac_ParamType type, const Crypto_DataBlob *value)设置MAC参数。
OH_Crypto_ErrCode OH_CryptoMac_Init(OH_CryptoMac *ctx, const OH_CryptoSymKey *key)使用对称密钥初始化MAC实例。
OH_Crypto_ErrCode OH_CryptoMac_Update(OH_CryptoMac *ctx, const Crypto_DataBlob *in)更新MAC实例。
OH_Crypto_ErrCode OH_CryptoMac_Final(OH_CryptoMac *ctx, Crypto_DataBlob *out)完成MAC操作。
OH_Crypto_ErrCode OH_CryptoMac_GetLength(OH_CryptoMac *ctx, uint32_t *length)获取MAC长度。
void OH_CryptoMac_Destroy(OH_CryptoMac *ctx)销毁MAC实例。

枚举类型说明

CryptoMac_ParamType

enum CryptoMac_ParamType

描述

定义MAC算法参数类型。

起始版本: 20

枚举项描述
CRYPTO_MAC_DIGEST_NAME_STR = 0HMAC消息认证码使用的摘要函数的算法名称,例如SHA256。
CRYPTO_MAC_CIPHER_NAME_STR = 1CMAC消息认证码使用的对称加密算法名称,例如AES256。

函数说明

OH_CryptoMac_Create()

OH_Crypto_ErrCode OH_CryptoMac_Create(const char *algoName, OH_CryptoMac **ctx)

描述

根据给定的算法名称创建MAC实例。

起始版本: 20

参数:

参数项描述
const char *algoName用于生成MAC实例的算法名称。
例如"HMAC"、"CMAC"。
OH_CryptoMac **ctxMAC实例。

返回:

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

OH_CryptoMac_SetParam()

OH_Crypto_ErrCode OH_CryptoMac_SetParam(OH_CryptoMac *ctx, CryptoMac_ParamType type, const Crypto_DataBlob *value)

描述

设置MAC参数。

起始版本: 20

参数:

参数项描述
OH_CryptoMac *ctxMAC实例。
CryptoMac_ParamType typeMAC参数类型。
const Crypto_DataBlob *valueMAC参数。

返回:

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

OH_CryptoMac_Init()

OH_Crypto_ErrCode OH_CryptoMac_Init(OH_CryptoMac *ctx, const OH_CryptoSymKey *key)

描述

使用对称密钥初始化MAC实例。

起始版本: 20

参数:

参数项描述
OH_CryptoMac *ctxMAC实例。
const OH_CryptoSymKey *keykey 对称密钥。

返回:

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

参考:

OH_CryptoMac_Final

OH_CryptoMac_Update()

OH_Crypto_ErrCode OH_CryptoMac_Update(OH_CryptoMac *ctx, const Crypto_DataBlob *in)

描述

更新MAC实例。

起始版本: 20

参数:

参数项描述
OH_CryptoMac *ctxMAC实例。
const Crypto_DataBlob *in需要更新的数据。

返回:

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

参考:

OH_CryptoMac_Final

OH_CryptoMac_Final()

OH_Crypto_ErrCode OH_CryptoMac_Final(OH_CryptoMac *ctx, Crypto_DataBlob *out)

描述

完成MAC操作。

起始版本: 20

参数:

参数项描述
OH_CryptoMac *ctxMAC实例。
Crypto_DataBlob *outMAC值。

返回:

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

参考:

OH_CryptoMac_Update

OH_CryptoMac_GetLength()

OH_Crypto_ErrCode OH_CryptoMac_GetLength(OH_CryptoMac *ctx, uint32_t *length)

描述

获取MAC长度。

起始版本: 20

参数:

参数项描述
OH_CryptoMac *ctxMAC实例。
uint32_t *lengthMAC长度。

返回:

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

OH_CryptoMac_Destroy()

void OH_CryptoMac_Destroy(OH_CryptoMac *ctx)

描述

销毁MAC实例。

起始版本: 20

参数:

参数项描述
OH_CryptoMac *ctxMAC实例。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Crypto Architecture Kit(加解密算法框架服务)

harmony 鸿蒙crypto_architecture_kit.h

harmony 鸿蒙crypto_asym_cipher.h

harmony 鸿蒙crypto_asym_key.h

harmony 鸿蒙crypto_common.h

harmony 鸿蒙Crypto_DataBlob

harmony 鸿蒙crypto_digest.h

harmony 鸿蒙crypto_kdf.h

harmony 鸿蒙crypto_key_agreement.h

harmony 鸿蒙crypto_rand.h

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/wpX49B