//签名验证

public static bool CheckSign(Dictionary<string, string> map, string sign)
        {
            Dictionary<string, string> mapNew = paraFilter(map);

string preSignStr = createLinkstring(mapNew);

return FuYouSign.verify(preSignStr, Const.publicKey, sign);
        }

//根据响应报文生成签名原文

public static Dictionary<string, string> paraFilter(Dictionary<string, string> map)
        {

Dictionary<string, string> result = new Dictionary<string, string>();

if (map == null || map.Count() <= 0)
            {
                return result;
            }

foreach (string key in map.Keys)
            {
                string value = map[key];
                if (key.Equals("sign", StringComparison.CurrentCultureIgnoreCase) || (key.Length >= 8 && key.Substring(0, 8).Equals("reserved", StringComparison.CurrentCultureIgnoreCase)))
                {
                    continue;
                }
                result.Add(key, value);
            }

return result;
        }

//利用公钥进行签名验证

public static bool verify(string srcSignPacket, string publicKey,string sign)
        {
            try
            {
                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
                byte[] messagebytes= Encoding.GetEncoding(Const.charset).GetBytes(srcSignPacket);
                rsa.FromXmlString(RSAConverter.RSAPublicKeyJava2DotNet(Const.publicKey));
                byte[] AOutput= Convert.FromBase64String(sign);
                bool bVerify = rsa.VerifyData(messagebytes, "MD5", AOutput);
                return bVerify;
            }
            catch (Exception)
            {
                return false;
                throw;
            }
        }

C# 富友支付回调验签相关推荐

  1. 微信支付回调验签失败,提示 java.security.InvalidKeyException: Illegal key size

    参考链接:https://blog.csdn.net/dafeige8/article/details/76019911 若上述地址中无法下载jar包,请从该地址下载https://download. ...

  2. 银联扫码支付及静态码回调验签

    /*** 构建支付的数据包* @param $merchantCode* @param $terminalCode* @param $transactionAmount* @param $transa ...

  3. 微信支付V3版本回调+验签流程

    本文主要是接前面2篇微信V3支付参数准备和微信V3支付整合进项目中的后续之微信支付后的回调. 一.回调验签流程介绍 二.核心流程操作 本文主要是接前面2篇微信V3支付参数准备和微信V3支付整合进项目中 ...

  4. 富友支付AS微信支付

    刚好公司有个需求,需要把公众号的微信支付,改成富友AS微信支付(我自己起的名字),而且是要用C#去写.对于只用过PHP和Python的我来说,那是一脸懵逼.最后研究了一下富友开放平台的文档,折腾了一天 ...

  5. 富友支付 统一下单接口 自创php版本demo

    看了文档才发现demo只有java版本的 那可不妙啊 还好在我的坚持与努力下 终于参透了这文档. 就这个文档 富友开放接口文档  有一说一这个验签的方式还是很简介的直接md5验签 害我找了半天的DES ...

  6. php支付宝异步回调验签失败,thinkphp网站支付宝异步回调验签失败问题_PHP开发框架教程...

    了解Redis这个核心数据类型_PHP开发框架教程 string字符串tring类型是二进制安全的,即string中可以包含任何数据,Redis 中的普通string采用rawencoding 即原始 ...

  7. 微信支付-通知验签始终不通过的问题

    记一次微信支付验签始终异常问题,折腾了两宿,最后是 body 有问题 o(╥﹏╥)o 这里使用的是 <dependency><groupId>com.github.wechat ...

  8. 富友集团由盈转亏:收购事项完成后未变更,旗下富友支付多次被罚

    近日,精达股份(SH:600577)发布的2020年年报显示,该公司2020年度实现营业收入124.47亿元,同比增长3.75%:归属于上市公司股东的净利润为4.19亿元,同比下降4.29%. 同时, ...

  9. Java微信支付-支付成功异步回调验签

    接上一篇Java微信支付-统一下单API,本篇在上篇文章的基础上讲述调用统一下单API用户支付成功之后微信异步回调通知 下文中所需配置.类都在以请查看以上链接内容. 在调用微信支付-统一下单API时, ...

最新文章

  1. TS - 处理故障的一些通用方法
  2. linux命令grpck,不可不知的的grpck命令【每日一个知识点第184期-Linux】
  3. 关于K-Meleon浏览器的使用技巧汇总
  4. mysql 6.5安装_RedHat6.5安装MySQL5.7教程详解
  5. 读锁调度导致高延迟的 case 一例
  6. 《新版阿里巴巴Java开发手册》提到的三目运算符的空指针问题到底是个怎么回事?
  7. MATLAB学习笔记(十)
  8. PostgreSQL判断一个表是否存在
  9. 人工神经网络算法原理和应用
  10. 软件测试完后,还有bug,责任全在于测试吗?
  11. ActiveMQ官方文档翻译-内嵌消息中间件
  12. 《Android游戏编程之从零开始》
  13. html特殊符号对照表空格,HTML 特殊符号编码对照表(1)
  14. CentOS7安装Hadoop-3.3.0集群
  15. pycharm文件名颜色含义
  16. go 合并excel
  17. 如何经营咖啡加盟店和独立咖啡店?用好国外成功经营咖啡馆四大法则
  18. 2022煤炭生产经营单位(安全生产管理人员)判断题及在线模拟考试
  19. linux 冒号用法
  20. 变量的存储方式和生存期

热门文章

  1. 微信小程序开发实录——每日速递
  2. Kali Linux渗透测试——入侵Windows10
  3. dataframe 模仿sql实现窗口函数功能 lead lag dataframe groupy 实现窗口函数
  4. FME2012世界之旅——实时博客
  5. arcgis android 天地图,Arcgis runtime for Android 100.5 加载天地图
  6. XYOJ1257: 捕杀恶龙(break+j=k)
  7. 超详细的AD8031ARZ介绍,就在这里
  8. 有数Bizhelp帮助文档在线制作软件官方
  9. 解决VMware Taking ownership of this virtual machine failed
  10. 服务器window如何设置防火墙开放端口