zoukankan      html  css  js  c++  java
  • 河南农信移动支付解析

    河南农信,HNNX。

    重点:

    1.C#和JAVA 的UrlEncode结果不同,不能使用C#自带的UrlEncode。

    2.http header 和 body 里的键值对都参与签名,transCode不参与。

     3.RSA with SHA256 算出的值byte[] ,转字符串时为16进制字符串,小写。

     4.测试环境和生产环境的channelId、ChannelNbr 是一样的,channelId=45、ChannelNbr=03。

     5.由于pfx证书文件不方便保存和部署,我这边是把pfx里的私钥导出来,存入数据库,用来签名。公钥证书也是保存的字符串到数据库。

    说明:

    不能使用C#自带的UrlEncode,C#  JAVA urlencode  结果不兼容。C# 需要encode的部分是小写。JAVA 需要encode的部分是大写。

    使用下面这个方法处理。

    /// <summary>
            /// java UrlEncode 特点是:需要UrlEncode字符,UrlEncode后要大写。
            /// </summary>
            /// <param name="str"></param>
            /// <param name="charSet"></param>
            /// <returns></returns>
            public static string CSharpToJavaUrlEncode(string str,string charSet)
            {
                Encoding enc = Encoding.GetEncoding(charSet);
    
                StringBuilder stringBuilder = new StringBuilder();
                for (int i = 0; i < str.Length; i++)
                {
                    string t = str[i].ToString();
                    string k = HttpUtility.UrlEncode(t, enc);
                    if (t == k)
                    {
                        stringBuilder.Append(t);
                    }
                    else
                    {
                        stringBuilder.Append(k.ToUpper());
                    }
                }
                return stringBuilder.ToString();
            }

  • 相关阅读:
    网络爬虫的基本原理(一)
    灵光一闪-软件应用
    sql语句变量定义和样例
    windows+linux环境部署搭建
    jdk1.6安装
    系统部署
    tomcat部署
    maven各种插件在总结
    maven项目tomcat部署问题
    两种数据源
  • 原文地址:https://www.cnblogs.com/runliuv/p/15006973.html
Copyright © 2011-2022 走看看