国家医保移动支付、处方流转SM2签名 SM44加密C#

在去年的时候做了湖南的国家医保移动支付,现在已经有官方渠道验收通过的

直接上代码

// 签名加密部分
            string appId = "渠道ID";
            string appSecret = "数字密钥";
            string privateKey = "渠道秘钥";
            string publicKey = "平台公钥";
            JObject requestData = new JObject();
            requestData.Add("appId", appId);
            requestData.Add("encType", "SM4");
            requestData.Add("signType", "SM2");
            requestData.Add("timestamp", (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds);
            JObject data = new JObject();
            data = JObject.Parse("入参JSON字符串");
            String encData = SMUtil.encrypt(JsonConvert.SerializeObject(data, Newtonsoft.Json.Formatting.None), appId, appSecret);
            JObject signDto = (JObject)JObject.Parse(JsonConvert.SerializeObject(requestData, Newtonsoft.Json.Formatting.None));
            signDto.Add("data", data);
            String signData = SMUtil.sign(signDto, appSecret, privateKey);
            requestData.Add("encData", encData);
            requestData.Add("signData", signData);
            //最终入参
            String inputRJSON = JsonConvert.SerializeObject(requestData, Newtonsoft.Json.Formatting.None);

        

            //解密验签部分
            string str_out = "";
            int code = Convert.ToInt32(GetJsonValues("原出参JSON", "code"));
            string message = GetJsonValues("原出参JSON", "message");
            if (code != 0)
            {
                //状态错误
            }
            else
            {
                String decEncData = SMUtil.decrypt(GetJsonValues("原出参JSON", "encData"), appId, appSecret);
                //出参解密
                str_out = jsonChangeValueToJson("原出参JSON", "encData", decEncData);
            }

(21条消息) 国家医保移动支付SM2签名SM4加密demo源码资源-CSDN文库

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值