crypto_sym_cipher.h
概述
定义对称密钥加密API。
库: libohcrypto.so
引用文件: <CryptoArchitectureKit/crypto_sym_cipher.h>
系统能力: SystemCapability.Security.CryptoFramework
起始版本: 12
相关模块: CryptoSymCipherApi
汇总
结构体
| 名称 | typedef关键字 | 描述 |
|---|---|---|
| OH_CryptoSymCipher | OH_CryptoSymCipher | 定义对称加解密结构体。 |
| OH_CryptoSymCipherParams | OH_CryptoSymCipherParams | 定义对称加解密参数结构体。 |
枚举
| 名称 | typedef关键字 | 描述 |
|---|---|---|
| CryptoSymCipher_ParamsType | CryptoSymCipher_ParamsType | 定义对称加解密参数类型。 |
函数
枚举类型说明
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_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_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_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 | 指向对称密钥加解密实例。 |