Agora RTC Objective-C API Reference Refactor

Data Fields
EncryptionConfig Struct Reference

## Data Fields
ENCRYPTION_MODE | encryptionMode
const char * | encryptionKey
uint8_t | encryptionKdfSalt [32]

## Detailed Description

Built-in encryption configurations.

## Constructor & Destructor Documentation

## ◆ EncryptionConfig()

EncryptionConfig | ( |  | ) |
| inline

## Field Documentation

## ◆ encryptionMode

ENCRYPTION_MODE encryptionMode

The built-in encryption mode. See ENCRYPTION_MODE. Agora recommends using `AES_128_GCM2` or `AES_256_GCM2` encrypted mode. These two modes support the use of salt for higher security.

## ◆ encryptionKey

const char* encryptionKey

Encryption key in string type with unlimited length. Agora recommends using a 32-byte key.

Note
  If you do not set an encryption key or set it as NULL, you cannot use the built-in encryption, and the SDK returns ERR_INVALID_ARGUMENT (-2).

## ◆ encryptionKdfSalt

uint8_t encryptionKdfSalt[32]

Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on the server side.

Note
  This parameter takes effect only in `AES_128_GCM2` or `AES_256_GCM2` encrypted mode. In this case, ensure that this parameter is not 0.

## ◆ datastreamEncryptionEnabled

bool datastreamEncryptionEnabled