private bool CheckAuthor(string res) { if (res.Length > 0) { string md5 = MTSecurity.Md5Sum(GetAuthorBase()); Debug.Log("MTCheat\tCheckAuthor\tres = " + res + ", md5 = " + md5); if (res.CompareTo(md5) == 0) { return(true); } } return(false); }
protected void BuildMessage(List <TrackItem> items, out string jsonStr, out string sign) { Dictionary <string, object> json = BuildTrackMessage(items); if (json == null) { jsonStr = ""; sign = ""; return; } jsonStr = MTJSON.Serialize(json); // sign sign = MTSecurity.Md5Sum(jsonStr + signKey); }
IEnumerator sendLoop() { while (true) { yield return(new WaitForSeconds(_lastSucc ? sendInterval : retryDelay)); if (_queue == null) { LoadQueue(); } if (_queue == null || _queue.Count == 0) { continue; } PurchaseBillingItem item = _queue [0]; // sign string sign = MTSecurity.Md5Sum(item.message + signKey); Debug.Log("[MTPBHelper] Sending check: " + item.message + "," + item.iapKey); Dictionary <string, string> headers = new Dictionary <string, string> (); headers ["sign"] = sign; headers ["Content-Type"] = "application/json"; byte[] bytes = System.Text.Encoding.UTF8.GetBytes(item.message); #pragma warning disable CS0618 // 类型或成员已过时 WWW www = new WWW(baseUrl, bytes, headers); yield return(www); if (www.error != null) { Debug.Log("[MTPBHelper] send Error: " + www.error); _lastSucc = false; } else // success, remove from queue { _queue.RemoveAt(0); _queueDirty = true; _lastSucc = true; int code = 1; if (www.text == null) { Debug.LogError("[MTPBHelper] www.text = null"); } else { MTJSONObject jObject = MTJSON.Deserialize(www.text); if (jObject == null) { Debug.LogError("[MTPBHelper] JSON Object (www.text) = null"); code = 2; AddKey(new PurchaseResult(item.iapKey, code)); } else { jObject = jObject.Get("ret_status"); if (jObject == null) { Debug.LogError("[MTPBHelper] ret_status = null, www.text = " + www.text); code = 3; AddKey(new PurchaseResult(item.iapKey, code)); } else { Debug.Log("[MTPBHelper] send Succ code = " + code); code = jObject.i; AddKey(new PurchaseResult(item.iapKey, code)); } } } OnCheckFinished(code, item.iapKey); } } }