Skip to Content
SeamlessSample CodesJavaScript (Node.js)

JavaScript (Node.js)

Encrypt

const CryptoJS = require("crypto-js"); function AESEncrypt(data, aesKey, aesIv) { const key = CryptoJS.enc.Utf8.parse(aesKey); const iv = CryptoJS.enc.Utf8.parse(aesIv); const encrypted = CryptoJS.AES.encrypt(data.trim(), key, { iv, padding: CryptoJS.pad.ZeroPadding, }).toString(); return base64EncodeUrl(encrypted); } function base64EncodeUrl(str) { return str.replace(/\\+/g, "-").replace(/\\//g, "_").replace(/=+$/, ""); } const data = "SampleData"; const encryptData = AESEncrypt(data, $ { KEY }, $ { IV }); console.log(encryptData);

Decrypt

const CryptoJS = require("crypto-js"); function AesDecrypt(encryptedString, aesKey, aesIv) { const key = CryptoJS.enc.Utf8.parse(aesKey); const iv = CryptoJS.enc.Utf8.parse(aesIv); const decrypted = CryptoJS.AES.decrypt( base64DecodeUrl(encryptedString.trim()), key, { iv, padding: CryptoJS.pad.ZeroPadding, } ); return CryptoJS.enc.Utf8.stringify(decrypted); } function base64DecodeUrl(str) { str = (str + "===").slice(0, str.length + (str.length % 4)); return str.replace(/-/g, "+").replace(/_/g, "/"); } const encryptData = "GhKRVa6BHoOJAhjVYMKuFw"; const key = "key1234567Sample"; // $ { KEY } const iv = "iv12345678Sample"; // $ { IV } const decryptData = AesDecrypt(encryptData, key, iv); console.log(decryptData); // return “SampleData”

Call API

Example: Action 47 Get Demo Game Launch URL

AESEncrypt: Please refer to the “Encrypt” sample code

const aesUtil = require("./AESEncrypt"); const axios = require("axios"); const qs = require("querystring"); const dc = $ { DC }; const key = $ { KEY }; const iv = $ { IV }; const apiUrl = $ { API URL }; const axiosInstance = axios.create({ headers: { "Content-Type": "application/x-www-form-urlencoded" }, }); // prepare action 47 data const data = { action: 47, ts: new Date().getTime(), lang: "en", gType: "0", mType: "8001", windowMode: "2", }; const x = aesUtil.AESEncrypt(JSON.stringify(data), key, iv); axiosInstance.post(apiUrl, qs.stringify({ dc, x })).then(({ data }) => { console.log("data:", data); });
Last updated on