CryptoSymCipherApi

概述

为应用提供对称密钥加解密相关接口功能。

起始版本: 12

汇总

文件

名称 描述
crypto_sym_cipher.h 定义对称密钥加解密接口。

类型定义

名称 描述
typedef struct OH_CryptoSymCipher OH_CryptoSymCipher 定义对称加解密结构体。
typedef struct OH_CryptoSymCipherParams OH_CryptoSymCipherParams 定义对称加解密参数结构体。

枚举

名称 描述
CryptoSymCipher_ParamsType {
CRYPTO_IV_DATABLOB = 100,
CRYPTO_AAD_DATABLOB = 101,
CRYPTO_TAG_DATABLOB = 102
}
定义对称加解密参数类型。

函数

名称 描述
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) 销毁对称密钥加解密实例。

类型定义说明

OH_CryptoSymCipher

typedef struct OH_CryptoSymCipherOH_CryptoSymCipher

描述

定义对称加解密结构体。

起始版本: 12

OH_CryptoSymCipherParams

typedef struct OH_CryptoSymCipherParamsOH_CryptoSymCipherParams

描述

定义对称加解密参数结构体。

起始版本: 12

枚举类型说明

CryptoSymCipher_ParamsType

enum CryptoSymCipher_ParamsType

描述

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

起始版本: 12

枚举值 描述
CRYPTO_IV_DATABLOB 加解密参数iv。
CRYPTO_AAD_DATABLOB 加解密参数aad。
CRYPTO_TAG_DATABLOB 加解密参数authTag。

函数说明

OH_CryptoSymCipher_Create()

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

描述

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

起始版本: 12

参数:

名称 描述
algoName 用于生成对称密钥加解密实例的算法名称。例如: AES128|GCM|PKCS7.
ctx 指向对称密钥加解密实例的指针。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

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

OH_CryptoSymCipher_Destroy()

void OH_CryptoSymCipher_Destroy (OH_CryptoSymCipher *ctx)

描述

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

起始版本: 12

参数:

名称 描述
ctx 指向对称密钥加解密实例。

OH_CryptoSymCipher_Final()

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

描述

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

起始版本: 12

参数:

名称 描述
ctx 指向对称密钥加解密实例。
in 要加密或解密的数据。
out 返回剩余数据的加/解密结果。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

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

参见:

OH_CryptoSymCipher_Init

OH_CryptoSymCipher_Update

OH_CryptoSymCipher_GetAlgoName()

const char* OH_CryptoSymCipher_GetAlgoName (OH_CryptoSymCipher *ctx)

描述

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

起始版本: 12

参数:

名称 描述
ctx 指向对称密钥加解密实例。

返回:

返回对称加解密算法名称。

OH_CryptoSymCipher_Init()

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

描述

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

起始版本: 12

参数:

名称 描述
ctx 指向对称密钥加解密实例。
mod 加解密模式。
key 对称密钥。
params 指向对称密钥参数实例。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

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

OH_CryptoSymCipher_Update()

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

描述

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

起始版本: 12

参数:

名称 描述
ctx 指向对称密钥加解密实例。
in 加密或者解密的数据。
out 更新的结果。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

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

OH_CryptoSymCipherParams_Create()

OH_Crypto_ErrCode OH_CryptoSymCipherParams_Create (OH_CryptoSymCipherParams **params)

描述

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

起始版本: 12

参数:

名称 描述
params 指向对称加解密参数实例的指针。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

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

OH_CryptoSymCipherParams_Destroy()

void OH_CryptoSymCipherParams_Destroy (OH_CryptoSymCipherParams *params)

描述

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

起始版本: 12

参数:

名称 描述
params 指向对称密钥加解密参数实例。

OH_CryptoSymCipherParams_SetParam()

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

描述

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

起始版本: 12

参数:

名称 描述
params 指向对称密钥加解密参数实例。
paramsType 设置对称密钥加解密参数类型。
value 设置的参数值。

返回:

OH_Crypto_ErrCode:

0 - 成功。

401 - 参数无效。

801 - 操作不支持。

17620001 - 内存错误。

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