Подписаться на рассылку
Разделы

// 6️⃣ Build the LicenseInfo object val expires = json.getString("expires") val features = json.getJSONArray("features") val featureSet = mutableSetOf<String>() for (i in 0 until features.length()) featureSet.add(features.getString(i))

/** * Handles verification of the license key against the remote server. * * The server expects a POST payload: * * "key": "<LICENSE_KEY>", * "machineId": "<MACHINE_ID>" // optional, may be empty string * * * Response (JSON): * * "valid": true */ object LicenseVerifier

// 3️⃣ Send POST request (blocking – called from Gradle task) val request = Request.Builder() .url(LICENSE_ENDPOINT) .post(payload.toRequestBody()) .header("User-Agent", "Apeaksoft-Toolkit/1.4.2") .build()

// Pro modules – will be ignored if license is missing implementation "com.apeaksoft:android-toolkit-pro:1.4.2"

Now you can run:

/** Helper: verify server‑side HMAC signature */ private fun verifySignature(data: String, signature: String): Boolean val secret = "s3cr3t_server_key".toByteArray(Charsets.UTF_8) // not really hard‑coded in production val mac = javax.crypto.Mac.getInstance("HmacSHA256") mac.init(javax.crypto.spec.SecretKeySpec(secret, "HmacSHA256")) val expected = Base64.getEncoder().encodeToString(mac.doFinal(data.toByteArray())) return expected == signature

Apeaksoft Android Toolkit Registration Code 〈2024〉

// 6️⃣ Build the LicenseInfo object val expires = json.getString("expires") val features = json.getJSONArray("features") val featureSet = mutableSetOf<String>() for (i in 0 until features.length()) featureSet.add(features.getString(i))

/** * Handles verification of the license key against the remote server. * * The server expects a POST payload: * * "key": "<LICENSE_KEY>", * "machineId": "<MACHINE_ID>" // optional, may be empty string * * * Response (JSON): * * "valid": true */ object LicenseVerifier

// 3️⃣ Send POST request (blocking – called from Gradle task) val request = Request.Builder() .url(LICENSE_ENDPOINT) .post(payload.toRequestBody()) .header("User-Agent", "Apeaksoft-Toolkit/1.4.2") .build()

// Pro modules – will be ignored if license is missing implementation "com.apeaksoft:android-toolkit-pro:1.4.2"

Now you can run:

/** Helper: verify server‑side HMAC signature */ private fun verifySignature(data: String, signature: String): Boolean val secret = "s3cr3t_server_key".toByteArray(Charsets.UTF_8) // not really hard‑coded in production val mac = javax.crypto.Mac.getInstance("HmacSHA256") mac.init(javax.crypto.spec.SecretKeySpec(secret, "HmacSHA256")) val expected = Base64.getEncoder().encodeToString(mac.doFinal(data.toByteArray())) return expected == signature

ГлавнаяКаталогПрофиль0Корзина