# crypto_common.h
## Overview
Provides common APIs for cryptographic operations.
**Library**: libohcrypto.z.so
**System capability**: SystemCapability.Security.CryptoFramework
**Since**: 12
**Related module**: [CryptoCommonApi](_crypto_common_api.md)
## Summary
### Structs
| Name | Description |
| -------- | -------- |
| struct [Crypto_DataBlob](_crypto___data_blob.md) | Defines the data used for encryption and decryption. |
### Types
| Name | Description |
| -------- | -------- |
| typedef struct [Crypto_DataBlob](_crypto___data_blob.md) [Crypto_DataBlob](_crypto_common_api.md#crypto_datablob) | Defines a struct for the data used for encryption and decryption. |
### Enums
| Name | Description |
| -------- | -------- |
| [OH_Crypto_ErrCode](_crypto_common_api.md#oh_crypto_errcode) {
CRYPTO_SUCCESS = 0, CRYPTO_INVALID_PARAMS = 401,
CRYPTO_NOT_SUPPORT = 801, CRYPTO_MEMORY_ERROR = 17620001,
CRYPTO_OPERTION_ERROR = 17630001
} | Enumerates the encryption and decryption error codes. |
| [Crypto_CipherMode](_crypto_common_api.md#crypto_ciphermode) {
CRYPTO_ENCRYPT_MODE = 0,
CRYPTO_DECRYPT_MODE = 1
} | Enumerates the cryptographic operation types. |
### Functions
| Name | Description |
| -------- | -------- |
| void [OH_Crypto_FreeDataBlob](_crypto_common_api.md#oh_crypto_freedatablob) ([Crypto_DataBlob](_crypto___data_blob.md) \*dataBlob) | Releases a **dataBlob** instance. |