harmony 鸿蒙crypto_sym_cipher.h

  • 2025-06-12
  • 浏览 (2)

crypto_sym_cipher.h

概述

定义对称密钥加密API。

库: libohcrypto.so

引用文件:

系统能力: SystemCapability.Security.CryptoFramework

起始版本: 12

相关模块: CryptoSymCipherApi

汇总

结构体

|名称|typedef关键字|描述| |–|–|–| |OH_CryptoSymCipher|OH_CryptoSymCipher|定义对称加解密结构体。| |OH_CryptoSymCipherParams|OH_CryptoSymCipherParams|定义对称加解密参数结构体。|

枚举

|名称|typedef关键字|描述| |–|–|–| |CryptoSymCipher_ParamsType|CryptoSymCipher_ParamsType|定义对称加解密参数类型。|

函数

|名称|描述| |–|–| |OH_Crypto_ErrCode OH_CryptoSymCipherParams_Create(OH_CryptoSymCipherParams **params)|创建对称密钥加解密参数实例。| |OH_Crypto_ErrCode OH_CryptoSymCipherParams_SetParam(OH_CryptoSymCipherParams *params,CryptoSymCipher_ParamsType paramsType, Crypto_DataBlob *value)|设置对称密钥加解密参数。| |void OH_CryptoSymCipherParams_Destroy(OH_CryptoSymCipherParams *params)|销毁对称密钥加解密参数实例。| |OH_Crypto_ErrCode OH_CryptoSymCipher_Create(const char *algoName, OH_CryptoSymCipher **ctx)|根据给定的算法名称创建对称密钥加解密实例。| |OH_Crypto_ErrCode OH_CryptoSymCipher_Init(OH_CryptoSymCipher *ctx, Crypto_CipherMode mod,OH_CryptoSymKey *key, OH_CryptoSymCipherParams *params)|初始化对称密钥加解密实例。| |OH_Crypto_ErrCode OH_CryptoSymCipher_Update(OH_CryptoSymCipher *ctx, Crypto_DataBlob *in, Crypto_DataBlob *out)|更新加密或者解密数据操作。| |OH_Crypto_ErrCode OH_CryptoSymCipher_Final(OH_CryptoSymCipher *ctx, Crypto_DataBlob *in, Crypto_DataBlob *out)|输出加/解密(分组模式产生的)剩余数据,最后结束加密或者解密数据操作。| |const char *OH_CryptoSymCipher_GetAlgoName(OH_CryptoSymCipher *ctx)|获取对称密钥加解密实例的算法名称。| |void OH_CryptoSymCipher_Destroy(OH_CryptoSymCipher *ctx)|销毁对称密钥加解密实例。|

枚举类型说明

CryptoSymCipher_ParamsType

enum CryptoSymCipher_ParamsType

描述

定义对称加解密参数类型。

起始版本: 12

|枚举项|描述| |–|–| |CRYPTO_IV_DATABLOB = 100|加解密参数iv。| |CRYPTO_AAD_DATABLOB = 101|加解密参数aad。| |CRYPTO_TAG_DATABLOB = 102|加解密参数authTag。|

函数说明

OH_CryptoSymCipherParams_Create()

OH_Crypto_ErrCode OH_CryptoSymCipherParams_Create(OH_CryptoSymCipherParams **params)

描述

创建对称密钥加解密参数实例。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipherParams **params|指向对称加解密参数实例的指针。|

返回:

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

OH_CryptoSymCipherParams_SetParam()

OH_Crypto_ErrCode OH_CryptoSymCipherParams_SetParam(OH_CryptoSymCipherParams *params,CryptoSymCipher_ParamsType paramsType, Crypto_DataBlob *value)

描述

设置对称密钥加解密参数。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipherParams *params|指向对称密钥加解密参数实例。| |CryptoSymCipher_ParamsType paramsType|设置对称密钥加解密参数类型。| |Crypto_DataBlob *value|设置的参数值。|

返回:

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

OH_CryptoSymCipherParams_Destroy()

void OH_CryptoSymCipherParams_Destroy(OH_CryptoSymCipherParams *params)

描述

销毁对称密钥加解密参数实例。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipherParams *params|指向对称密钥加解密参数实例。|

OH_CryptoSymCipher_Create()

OH_Crypto_ErrCode OH_CryptoSymCipher_Create(const char *algoName, OH_CryptoSymCipher **ctx)

描述

根据给定的算法名称创建对称密钥加解密实例。

起始版本: 12

参数:

|参数项|描述| |–|–| |const char *algoName|algoName 用于生成加密实例的算法名称。
例如”AES128|GCM|PKCS7”。| |OH_CryptoSymCipher **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_CryptoSymCipher_Init()

OH_Crypto_ErrCode OH_CryptoSymCipher_Init(OH_CryptoSymCipher *ctx, Crypto_CipherMode mod,OH_CryptoSymKey *key, OH_CryptoSymCipherParams *params)

描述

初始化对称密钥加解密实例。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipher *ctx|对称密钥加密实例。| |Crypto_CipherMode mod|加解密模式。| |OH_CryptoSymKey *key|对称密钥。| |OH_CryptoSymCipherParams *params|指向对称密钥参数实例。|

返回:

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

参考:

OH_CryptoSymCipher_Final

OH_CryptoSymCipher_Update()

OH_Crypto_ErrCode OH_CryptoSymCipher_Update(OH_CryptoSymCipher *ctx, Crypto_DataBlob *in, Crypto_DataBlob *out)

描述

更新加密或者解密数据操作。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipher *ctx|指向对称密钥加解密实例。| |Crypto_DataBlob *in|加密或者解密的数据。| |Crypto_DataBlob *out|更新的结果。|

返回:

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

参考:

OH_CryptoSymCipher_Final

OH_CryptoSymCipher_Final()

OH_Crypto_ErrCode OH_CryptoSymCipher_Final(OH_CryptoSymCipher *ctx, Crypto_DataBlob *in, Crypto_DataBlob *out)

描述

输出加/解密(分组模式产生的)剩余数据,最后结束加密或者解密数据操作。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipher *ctx|对称密钥加密实例。| |Crypto_DataBlob *in|要加密或解密的数据。| |Crypto_DataBlob *out|返回剩余数据的加/解密结果。|

返回:

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

参考:

OH_CryptoSymCipher_Update

OH_CryptoSymCipher_GetAlgoName()

const char *OH_CryptoSymCipher_GetAlgoName(OH_CryptoSymCipher *ctx)

描述

获取对称密钥加解密实例的算法名称。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipher *ctx|指向对称密钥加解密实例。|

返回:

|类型|说明| |–|–| |const char|返回对称密钥加密算法名称。|

OH_CryptoSymCipher_Destroy()

void OH_CryptoSymCipher_Destroy(OH_CryptoSymCipher *ctx)

描述

销毁对称密钥加解密实例。

起始版本: 12

参数:

|参数项|描述| |–|–| |OH_CryptoSymCipher *ctx|指向对称密钥加解密实例。|

你可能感兴趣的鸿蒙文章

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_mac.h

0  赞