Encryption API for Unity SDK
PubNub Unity SDK provides built-in message and file encryption to secure your real-time communications. This documentation covers crypto module configuration and utility methods for encrypting and decrypting messages and files using both legacy 128-bit and enhanced 256-bit AES-CBC encryption.
For general SDK configuration and initialization, refer to the Configuration page.
Configuration
CryptoModule
configuration
To configure the CryptoModule
to encrypt all messages/files, you can use the following methods in the C# SDK:
Your client can decrypt content encrypted using either of the modules. This way, you can interact with historical messages or messages sent from older clients while encoding new messages using the more secure 256-bit AES-CBC cipher.
Older SDK versions
Apps built using the SDK versions lower than 7.0.1 will not be able to decrypt data encrypted using the 256-bit AES-CBC cipher. Make sure to update your clients or encrypt data using the legacy algorithm.
SDK Initialization required
Before using encryption methods, ensure your PubNub client is properly configured with publish/subscribe keys and user ID. See the Configuration guide for setup instructions.
Encryption methods
Encrypt
This function allows to encrypt
the data.
Deprecated
The cipherKey
parameter in this method is deprecated. We recommend that you configure a separate instance of the crypto module and use it for partial encryption.
If you pass cipherKey
as an argument, it overrides the crypto module configuration and the legacy encryption with 128-bit cipher key entropy is used.
Method(s)
To encrypt
the data you can use the following method(s) in Unity SDK.
pubnub.Encrypt(inputString, cipherKey)
Parameter | Description |
---|---|
inputString *Type: String | The data to encrypt . |
cipherKey Type: String | Cipher key to use for encryption. |
Sample code
Reference code
This example is a self-contained code snippet ready to be run. It includes necessary imports and executes methods with console logging. Use it as a reference when working with other examples in this document.
Encrypt part of message
Encrypt file
This function allow to encrypt
the file content/data.
Deprecated
The cipherKey
parameter in this method is deprecated. We recommend that you configure a separate instance of the crypto module and use it for partial encryption.
If you pass cipherKey
as an argument, it overrides the crypto module configuration and the legacy encryption with 128-bit cipher key entropy is used.
Method(s)
To encrypt
the file you can use the following method(s) in Unity SDK.
pubnub.EncryptFile(sourceFile, destinationFile, cipherKey)
Parameter | Description |
---|---|
sourceFile *Type: String | File to be encrypted. |
destinationFile *Type: String | Path of the encrypted file to be saved. |
cipherKey Type: String | Cipher Key to use for encryption. If provided, the legacy encryption with 128-bit cipher key entropy is used. If not provided, the CryptoModule from PubNub config will be used. For more information, refer to Crypto module configuration. |
byte[] outputBytes = pubnub.EncryptFile(sourceBytes) byte[] outputBytes = pubnub.EncryptFile(sourceBytes, cipherKey)
Parameter | Description |
---|---|
sourceBytes *Type: byte[] | byte array of the file. |
cipherKey Type: String | Cipher Key to use for encryption. If provided, the legacy encryption with 128-bit cipher key entropy is used. If not provided, the CryptoModule from PubNub config will be used. For more information, refer to Crypto module configuration. |
Sample code
Decryption methods
Decrypt
This function allows to decrypt
the data.
Deprecated
The cipherKey
parameter in this method is deprecated. We recommend that you configure a separate instance of the crypto module and use it for partial encryption.
If you pass cipherKey
as an argument, it overrides the crypto module configuration and the legacy encryption with 128-bit cipher key entropy is used.
Method(s)
To decrypt
the data you can use the following method(s) in Unity SDK.
pubnub.Decrypt(inputString, cipherKey)
Parameter | Description |
---|---|
inputString *Type: String | The data to decrypt . |
cipherKey Type: String | Cipher key used for decryption. |
Sample code
Decrypt part of message
Decrypt file
This function allow to decrypt
the file content/data.
Deprecated
The cipherKey
parameter in this method is deprecated. We recommend that you configure a separate instance of the crypto module and use it for partial encryption.
If you pass cipherKey
as an argument, it overrides the crypto module configuration and the legacy encryption with 128-bit cipher key entropy is used.
Method(s)
To decrypt
the file you can use the following method(s) in Unity SDK.
pubnub.DecryptFile(sourceFile, destinationFile, cipherKey);
Parameter | Description |
---|---|
sourceFile *Type: String | File to be decrypted. |
destinationFile *Type: String | Path of the decrypted file to be saved. |
cipherKey Type: String | Cipher Key to use for decryption. If provided, the legacy encryption with 128-bit cipher key entropy is used. If not provided, the CryptoModule from PubNub config will be used. For more information, refer to Crypto module configuration. |
byte[] outputBytes = pubnub.DecryptFile(sourceBytes) byte[] outputBytes = pubnub.DecryptFile(sourceBytes, cipherKey)
Parameter | Description |
---|---|
sourceBytes *Type: byte[] | byte array of the file. |
cipherKey Type: String | Cipher Key to use for decryption. If provided, the legacy encryption with 128-bit cipher key entropy is used. If not provided, the CryptoModule from PubNub config will be used. For more information, refer to Crypto module configuration. |
Sample code