openharmony 鸿蒙 capi-crypto-sym-cipher-h

2025-06-12 浏览 (1)

crypto_sym_cipher.h

概述

定义对称密钥加密API。

库: libohcrypto.so

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

系统能力: SystemCapability.Security.CryptoFramework

起始版本: 12

相关模块: CryptoSymCipherApi

汇总

结构体

名称typedef关键字描述
OH_CryptoSymCipherOH_CryptoSymCipher定义对称加解密结构体。
OH_CryptoSymCipherParamsOH_CryptoSymCipherParams定义对称加解密参数结构体。

枚举

名称typedef关键字描述
CryptoSymCipher_ParamsTypeCryptoSymCipher_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_ErrCodeCRYPTO_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_ErrCodeCRYPTO_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 *algoNamealgoName 用于生成加密实例的算法名称。
例如"AES128|GCM|PKCS7"。
OH_CryptoSymCipher **ctx指向对称密钥加密实例的指针。

返回:

类型说明
OH_Crypto_ErrCodeCRYPTO_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_ErrCodeCRYPTO_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_ErrCodeCRYPTO_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_ErrCodeCRYPTO_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

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