1e41f4b71Sopenharmony_ci# CryptoCommonApi 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## Overview 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ciProvides common APIs for cryptographic operations. 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci**Since**: 12 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## Summary 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci### Files 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci| Name | Description | 17e41f4b71Sopenharmony_ci| -------- | -------- | 18e41f4b71Sopenharmony_ci| [crypto_common.h](crypto__common_8h.md) | Defines common APIs for cryptographic operations. | 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci### Structs 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci| Name | Description | 24e41f4b71Sopenharmony_ci| -------- | -------- | 25e41f4b71Sopenharmony_ci| struct [Crypto_DataBlob](_crypto___data_blob.md) | Defines the data used for encryption and decryption. | 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci### Types 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci| Name | Description | 31e41f4b71Sopenharmony_ci| -------- | -------- | 32e41f4b71Sopenharmony_ci| typedef struct [Crypto_DataBlob](_crypto___data_blob.md) [Crypto_DataBlob](#crypto_datablob) | Defines a struct for the data used for encryption and decryption. | 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci### Enums 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| Name | Description | 38e41f4b71Sopenharmony_ci| -------- | -------- | 39e41f4b71Sopenharmony_ci| [OH_Crypto_ErrCode](#oh_crypto_errcode) {<br>CRYPTO_SUCCESS = 0, CRYPTO_INVALID_PARAMS = 401,<br>CRYPTO_NOT_SUPPORT = 801, CRYPTO_MEMORY_ERROR = 17620001,<br>CRYPTO_OPERTION_ERROR = 17630001<br>} | Enumerates the encryption and decryption error codes. | 40e41f4b71Sopenharmony_ci| [Crypto_CipherMode](#crypto_ciphermode) {<br>CRYPTO_ENCRYPT_MODE = 0,<br>CRYPTO_DECRYPT_MODE = 1<br>} | Enumerates the cryptographic operation types. | 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci### Functions 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci| Name | Description | 46e41f4b71Sopenharmony_ci| -------- | -------- | 47e41f4b71Sopenharmony_ci| void [OH_Crypto_FreeDataBlob](#oh_crypto_freedatablob) ([Crypto_DataBlob](_crypto___data_blob.md) \*dataBlob) | Releases a **dataBlob** instance. | 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci## Type Description 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci### Crypto_DataBlob 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci``` 56e41f4b71Sopenharmony_citypedef struct Crypto_DataBlob Crypto_DataBlob 57e41f4b71Sopenharmony_ci``` 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci**Description** 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ciDefines a struct for the data used for encryption and decryption. 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**Since**: 12 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci## Enum Description 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci### Crypto_CipherMode 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci``` 72e41f4b71Sopenharmony_cienum Crypto_CipherMode 73e41f4b71Sopenharmony_ci``` 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci**Description** 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ciEnumerates the cryptographic operation types. 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci**Since**: 12 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci| Enum | Description | 82e41f4b71Sopenharmony_ci| -------- | -------- | 83e41f4b71Sopenharmony_ci| CRYPTO_ENCRYPT_MODE | Encrypt data. | 84e41f4b71Sopenharmony_ci| CRYPTO_DECRYPT_MODE | Decrypt data. | 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci### OH_Crypto_ErrCode 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci``` 90e41f4b71Sopenharmony_cienum OH_Crypto_ErrCode 91e41f4b71Sopenharmony_ci``` 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci**Description** 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ciEnumerates the encryption and decryption error codes. 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci**Since**: 12 98e41f4b71Sopenharmony_ci 99e41f4b71Sopenharmony_ci| Enum | Description | 100e41f4b71Sopenharmony_ci| -------- | -------- | 101e41f4b71Sopenharmony_ci| CRYPTO_SUCCESS | The operation is successful. | 102e41f4b71Sopenharmony_ci| CRYPTO_INVALID_PARAMS | Invalid parameters are detected. | 103e41f4b71Sopenharmony_ci| CRYPTO_NOT_SUPPORT | The function or algorithm is not supported. | 104e41f4b71Sopenharmony_ci| CRYPTO_MEMORY_ERROR | A memory error occurred. | 105e41f4b71Sopenharmony_ci| CRYPTO_OPERTION_ERROR | The encryption or decryption operation fails. | 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci## Function Description 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci### OH_Crypto_FreeDataBlob() 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ci``` 114e41f4b71Sopenharmony_civoid OH_Crypto_FreeDataBlob (Crypto_DataBlob *dataBlob) 115e41f4b71Sopenharmony_ci``` 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci**Description** 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ciReleases a **dataBlob** instance. 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci**Since**: 12 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci**Parameters** 124e41f4b71Sopenharmony_ci 125e41f4b71Sopenharmony_ci| Name | Description | 126e41f4b71Sopenharmony_ci| -------- | -------- | 127e41f4b71Sopenharmony_ci| dataBlob | Pointer to the **dataBlob** instance to release. | 128