public bool CheckSign(SettleObject values)
        {
            var data = values.ToUrlForSign(true);
            var sign = values.GetValue <string>("sign");

            return(CheckSign(data, sign));
        }
Exemple #2
0
        public bool CheckSign(SettleObject values)
        {
            if (!values.IsSet("signature"))
            {
                return(false);
            }
            var oriByteData = Encoding.UTF8.GetBytes(values.ToUrlForSign());
            var sha1        = SHA1.Create().ComputeHash(oriByteData);
            var data        = BitConverter.ToString(sha1).Replace("-", "").ToLower();

            return(SecretUtil.RsaVerify1(_publicCert.GetRSAPublicKey(), data, values.GetValue <string>("signature")));
        }
Exemple #3
0
        public string MakeSign(SettleObject values)
        {
            if (_privateCert.SerialNumber != null)
            {
                values.SetValue("certId",
                                BigInteger.Parse(_privateCert.SerialNumber, NumberStyles.AllowHexSpecifier).ToString());
            }
            var oriByteData = Encoding.UTF8.GetBytes(values.ToUrlForSign());
            var sha1        = SHA1.Create().ComputeHash(oriByteData);
            var data        = BitConverter.ToString(sha1).Replace("-", "").ToLower();

            return(SecretUtil.RsaSign1(_privateCert.GetRSAPrivateKey(), data));
        }
        public bool CheckSign(SettleObject values)
        {
            var byteSign =
                values.GetValue <string>("Signature")
                .Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(m => Convert.ToByte(m))
                .ToArray();
            var signature = Convert.ToBase64String(byteSign);

            return
                (RsaVerify1(values.ToUrlForSign(false, false), signature,
                            Convert.FromBase64String(Config.CmbPayPublicKey)));
        }
        public string MakeSign(SettleObject values)
        {
            var provider = new RSACryptoServiceProvider();

            provider.FromXmlString(XmlPrivateKey);
            var keyPair = DotNetUtilities.GetKeyPair(provider);
            var c       = CipherUtilities.GetCipher("RSA/ECB/PKCS1Padding");

            c.Init(true, keyPair.Private); //第一个参数为true表示加密,为false表示解密;第二个参数表示密钥
            var hash     = GetHash(values.ToUrlForSign());
            var byteData = Encoding.UTF8.GetBytes(hash);

            return(Convert.ToBase64String(c.DoFinal(byteData)));
        }
Exemple #6
0
        public string MakeSign(SettleObject values)
        {
            var str = $"{values.ToUrlForSign()}&key={_options.WeChat.Key}";

            using (var md5 = MD5.Create())
            {
                var hash = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
                var sb   = new StringBuilder();
                foreach (var b in hash)
                {
                    sb.Append(b.ToString("x2"));
                }
                return(sb.ToString().ToUpperInvariant());
            }
        }
 public string MakeSign(SettleObject values)
 {
     return(SecretUtil.RsaSign256(values.ToUrlForSign(), Config.AlipayPrivate));
 }