架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 23548|回复: 1

[资料] .net版财付通支付接口sign加密方式

[复制链接]
发表于 2016-1-14 17:00:46 | 显示全部楼层 |阅读模式
QQ截图20160114165629.jpg


  1. // tenpay.PayRequestHandler
  2. protected override void createSign()
  3. {
  4.         string parameter = base.getParameter("cmdno");
  5.         string parameter2 = base.getParameter("date");
  6.         string parameter3 = base.getParameter("bargainor_id");
  7.         string parameter4 = base.getParameter("transaction_id");
  8.         string parameter5 = base.getParameter("sp_billno");
  9.         string parameter6 = base.getParameter("total_fee");
  10.         string parameter7 = base.getParameter("fee_type");
  11.         string parameter8 = base.getParameter("return_url");
  12.         string parameter9 = base.getParameter("attach");
  13.         string parameter10 = base.getParameter("spbill_create_ip");
  14.         base.getParameter("key");
  15.         StringBuilder stringBuilder = new StringBuilder();
  16.         stringBuilder.Append("cmdno=" + parameter + "&");
  17.         stringBuilder.Append("date=" + parameter2 + "&");
  18.         stringBuilder.Append("bargainor_id=" + parameter3 + "&");
  19.         stringBuilder.Append("transaction_id=" + parameter4 + "&");
  20.         stringBuilder.Append("sp_billno=" + parameter5 + "&");
  21.         stringBuilder.Append("total_fee=" + parameter6 + "&");
  22.         stringBuilder.Append("fee_type=" + parameter7 + "&");
  23.         stringBuilder.Append("return_url=" + parameter8 + "&");
  24.         stringBuilder.Append("attach=" + parameter9 + "&");
  25.         if (!"".Equals(parameter10))
  26.         {
  27.                 stringBuilder.Append("spbill_create_ip=" + parameter10 + "&");
  28.         }
  29.         stringBuilder.Append("key=" + base.getKey());
  30.         string mD = MD5Util.GetMD5(stringBuilder.ToString(), this.getCharset());
  31.         base.setParameter("sign", mD);
  32.         base.setDebugInfo(stringBuilder.ToString() + " => sign:" + mD);
  33. }
复制代码


MD5 是一种摘要生成算法,通过在签名原始串后加上商户通信密钥的内容,进行MD5运算,形成的摘要字符串即为签名结果。为了方便比较,签名结果统一转换为大写字符。
MD5签名计算公式:
sign = Md5(原字符串&key=商户密钥). toUpperCase
如:
        签名原始串是:input_charset=GBK&partner=1900000109&total_fee=1
商户密钥是:8db4a013a8b515349c307f1e448ce836
签名的结果为:
sign=md5(input_charset=GBK&partner=1900000109&total_fee=1&key=8934e7d15453e97507ef794cf7b0519d)= 8DB4A013A8B515349C307F1E448CE836


但是,我还是签名无效,不知道哪里的问题




上一篇:HTTP 错误 403.14 - Forbidden错误
下一篇:阿里云linux一键安装web环境V1.4.5标准版
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-8-15 11:18:17 | 显示全部楼层
参数a-z排列  然后再进行md5加密
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-1-19 01:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表