Example #1
0
        public static bool CheckSgin(ResponseBase msg)
        {
            var    property = GetProperties(msg.GetType());
            string value    = "";

            foreach (var item in property.Values)
            {
                if (item.Name != "Signature")
                {
                    value += item.GetValue(msg, null);
                }
            }
            var hash = getHash(value);
            var sign = CoreHelper.MAC.HexToByte(msg.Signature);
            var a    = CoreHelper.Encrypt.RSA.SignatureDeformatter(platformPublicKey, hash, sign);

            if (!a)
            {
                CoreHelper.EventLog.Log("验证签名时不正确," + msg.ResponseName + "\r\n" + value, "ChinaPay");
            }
            return(a);
        }