Skip to Content

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); ?>
Last updated on