Seamless
Sample Codes
PHP

PHP

Encrypt

<?php
class AESEncrypt
  {
      public static function encrypt($data, $key, $iv)
      {
          $data = self::padString($data);
          $encrypted = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_NO_PADDING, $iv);
          $encrypted = base64_encode($encrypted);
          $encrypted = str_replace(array('+','/','=') , array('-','_','') , $encrypted);
          return $encrypted;
      }
      private static function padString($source)
      {
          $paddingChar = ' ';
          $size = 16;
          $x = strlen($source) % $size;
          $padLength = $size - $x;
          for ($i = 0;$i < $padLength;$i++)
          {
              $source .= $paddingChar;
          }
          return $source;
      }
  }
  $data = 'SampleData';
  $encryptData = AESEncrypt::encrypt($data, $ { KEY }, $ { IV });
  echo $encryptData . "\n";
?>

Decrypt

<?php
class AESDecrypt
{
    public static function decrypt($data, $key, $iv)
    {
        $data = str_replace(array('-','_') , array('+','/') , $data);
        $data = base64_decode($data);
        $decrypted = openssl_decrypt($data, 'AES-128-CBC', $key, OPENSSL_NO_PADDING, $iv);
        return utf8_encode(trim($decrypted));
    }
}
$KEY = 'key1234567Sample'; // $ { KEY }
$IV = 'iv12345678Sample'; // $ { IV }
$encryptData = 'JYUwK_t1athMnX5mbEQ_stdBbYYgfIeC7utswa5A3Dw4vuORvpkTDWfmkFqpPtOPr_PJJA2WJLD4dBZV0
qCnWAmBB7Fpuy7Rkgpbs-Xez6WlpKCApE4uY2TC0QegtWnj';
$decryptData = AESDecrypt::decrypt($encryptData, $KEY, $IV);
echo $decryptData . "\n";
// decrypt data => {"action":47,"ts":1632385601439,"lang":"en","gType":"0","mType":"8001","windowMode":"2"}
 
?>

Call API

Example: Action 47 Get Demo Game Launch URL

AESEncrypt: Please refer to the “Encrypt” sample code

<?php
  $dc = $ { DC };
  $key = $ { KEY };
  $iv = $ { IV };
  $apiUrl = $ { API URL };
 
  $now = round(microtime(true) * 1000);
  // prepare action 47 data
  $jsonString = '{"action":47, "ts":' . $now . ', "lang":"en", "gType":"0", "mType":"8001",
  "windowMode":"2"}';
  // encrypt data
  $encryptData = AESEncrypt::encrypt($jsonString, $key, $iv);
  $data = array(
      'dc' => $dc,
      'x' => $encryptData
  );
  // post
  $ch = curl_init($apiUrl);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($ch);
  curl_close($ch);
  //parse json
  echo $response;
  $json = json_decode($response, true);
?>