这是本文档旧的修订版!
验证系统会对验证结果加密后,通知到开发者设置的回调地址。HTTP方法为POST,Content-Type为application/zblogverify。
Body的加密方式为:RSA(base64(AES_KEY) + '.' + base64(AES_IV)) + '.' + AES(realData)
{ "id": "65fbe736-aa01-4d60-946a-64da5e1bccd7", /* 本次校验的ID */ "from": "initiative", /* 校验来源 */ "error": { "number": 0, /* 错误编号 */ "message": "OK", /* 错误信息 */ "verified": true, /* 是否验证成功 */ "cracking": false, /* 疑似破解 */ "user": { "message": "面向用户的错误信息" } }, "appId": "应用ID", "host": "网站", "user": { "id": "应用中心ID", "username": "用户账号" }, "license": { "appId": "授权文件保存的应用ID", "userId": "授权文件保存的用户ID", "timestamp": "授权文件生成时间戳" } }
以下代码仅能运行于PHP 5.3+。
<?php function getVerifyData($data) { $publicKey = openssl_pkey_get_public('-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoH4uiMZYWy1sOXuq4YAA MtyrAtUcWHOXalSAmtDs1FA2H8fTBbEF+gnvg83Byp/mIvHMIaXc7RPIniwoMgDo Xo3H0GquBEOH4YoufIqfRFGFwnBw7V1KNv9Iw4XpmBYEboD5HT4PLuoUvSP78iWK 7kMMsYsYOVi7EPn8DbPZbvxnrDXkJmkj3l8YhGWtAjbFU7XgyEKEKBTes9fcxWSW GCdd1jV9oXcV9EQRkRr50wMvydgIWAAWvcVZ5zzK4sZelZDaGz7yEXG/Q1F1Xp3e GcC057CQoaEzuTQILUCypiNeQpKdzGXxwyp+Q6DAYITjyFBjQ5WbQiSaZtCPV5D9 lwIDAQAB -----END PUBLIC KEY-----'); $rsaDecrypted = ''; $explodeData = explode('.', $data); $rsaEncrypted = $explodeData[0]; $aesEncrypted = $explodeData[1]; openssl_public_decrypt(base64_decode($rsaEncrypted), $rsaDecrypted, $publicKey); $aesInfo = explode('.', $rsaDecrypted); $aesKey = base64_decode($aesInfo[0]); $aesIv = base64_decode($aesInfo[1]); $data = openssl_decrypt(base64_decode($aesEncrypted), 'aes-256-cbc', $aesKey, OPENSSL_RAW_DATA, $aesIv); return json_decode($data, false); } $object = getVerifyData(file_get_contents('php://input')); if ($object->error->number === 0) { echo '验证通过'; } var_dump($object);
BzS14KuWQcK3HBMqm4AsO2rZ22/cucjm+u9BEMnefUR2Frk5YjnhILtPPthOqgQoHO95/CzkteEv83qOHSsozx2y+omFhK0Hb4H6AcQWhm1WZoC8+Cjr1zm1SaBser9iDGaAotERyxvUpvEb2xKqsrBoiXLuLKKgTktYcMr+nen1sbDLFeWPEKf+/Oe5BFesyO+AOM40iKWGWWCffj2D5Chj8ED5wxUIuAT/QdWbuMSi8Qjf/K5mL+NB/T72B3aGChrZhsQP44QWN5VOeA9+K+lSCpV2/tkVCw2pw74dAsqQHm4oHW5BL9RAr6qbcbAzOxRonM8dVui/7Fku5UyoAA==.ZkHNgiEAUte9uKLxUF7PeyqC9DFi8Btxo+6sBcms11HHTYSA3Ar/vkAGtv62BqplITaxIE1zZk/yTe0aeo7GsPlYpK5p5tYfz6iLGNv6WugRzPHc86I04DRbFFXcjPlLCxMgbRONLdaAyCNp6o3lCPsKgCPfrkM05ctOc+owp19u7q3VSDPP0dpQ71X0VNz3g4gI7MegSiLW+TOaClfiutuBRIpRsuWE97MQ4ZHufFLO9xQhURRkVsFFixfVnhw0+mcT2XwSE2J/KfIOMvu6LtHXbx6LiYy/kRybLS6HzKqk6P9/C2mHw0HPKTbqF21Qt1olukWbRbc7i1QUL+IHQmaDZ5TAEMd+5MkbsGQR4ae7JBQNciqTHnRB9hP9LQE/yDdmNoo9dFBcZyBqJ4ZVhQoIlWRb5gnk2bieowK3t+Vr/cQMocZsc6w31+tne+KfyNzehsGvtTyZRZjItAcfF3kGu71cmyp5ZtXy7W7HdaFGapwbeFdz31X5T5x4QCjW