To protect our clients' data, we offer two new data encryption/decryption options that safeguard data from unauthorized access and minimize the risk of data breaches. This guide explains the usage and application methods for each option.
1. Query String Encryption
User data transmitted as URL query strings is encrypted using the AES-256 method. The Key used for encryption is generated using the API Key we provide. You can see how to apply this in the example below.
Example:
First, create the data to be encrypted in JSON format. (You may remove any unused fields.)
Important: The pid and lang query strings, as well as the sid and action query strings used on the 'Injection' page, are not supported for encryption.
2. Secure Data Transmission Option
This option encrypts data using AES-256 and PKI methods when calling API methods (POST/SUBMISSION, GET/SUBMISSION, PUT/SUBMISSION, WEBHOOK). The Key used for encryption is generated using the API Key we provide.
Application Method:
When calling POST/SUBMISSION, GET/SUBMISSION, PUT/SUBMISSION, WEBHOOK methods, the transmitted data is encrypted using AES-256.
PKI ensures data integrity and authentication.
(Common) Encryption/Decryption Method
We explain how to generate an AES-256 key using the API Key and use it to encrypt and decrypt data for client data security.
Notice of Encryption/Decryption Method Change (August 1, 2024)
Previously, we used CBC as the AES-256 encryption mode, but we have changed to ECB mode, and therefore no longer use IV (Initialization Vector). Please refer to the example code below.
1. Generating Hash Key
Generate an AES-256 key using the project's unique API Key.
Node.js crypto module
var crypto =require('crypto');var hashedKey =crypto.createHash('sha256').update(APIKEY).digest();