中小学教育缴费——验签失败

最近在做一个中小学教育缴费的项目,记录下本人踩过的坑,方便看到的人少踩坑。

这个是我2018年10月份发现的问题,后期支付宝应该会修复,可能以后就不会遇到这个问题了。

支付完成之后,验签一直失败,搞的我很头大,检查之后发现支付宝回传回来的数据是RSA类型的,可是我发送账单的时候明明传的就是RSA2类型的,为什么支付宝回传回来的是RSA。。。。。百思不得其解。

没办法,求助客服小哥哥(暂时称之为小哥哥),然而客服小哥哥一口咬定我传的就是RSA类型的,我重新生成私钥、公钥,检查所有参数类型,然后结果还是如此。。。。。果断的关闭了聊天框。然后我就换个思路好了,那我如果真的用RSA类型发送账单呢,尝试之后发送失败,然后查了文档,发现最新申请的项目不再支持RSA了,只支持最新的RSA2类型了,然后尝试失败。。。。。

解决不了,我又重新找了客服,当然这次换了个人,这个小哥哥还是比较靠谱的,刚开始也说我传的肯定是RSA类型的。。。然后我打印了我传递的参数给他,他表示也不知道为啥。。。最后在小哥哥的帮助下,给我了一个RSA类型的支付宝公钥,让我尝试下验签,结果成功了。。。。最后他得出结论,中小学教育验签这块,可能没有跟上步伐,用的还是老版本的RSA 验签。。。

最重要的一件事情是,我在账号里面是看不到我的RSA类型的支付宝公钥的,只能看到我的RSA2类型的支付宝公钥,坑不坑。。。

呐~~支付宝公钥就在这

原文地址:https://www.cnblogs.com/zhangjd/p/9974641.html

时间: 2024-10-23 17:15:28

中小学教育缴费——验签失败的相关文章

H5调用微信支付,IOS验签失败问题解决

1.package为空时,Android可调用微信支付,但IOS不行 2.package参数必需不能为空 如: https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20171017112849d63fcc65920397083586&package=1586452094&nonce_str=ooJBSQGN36DOKmIX&sign=B1093E1EB5F289F287E9FF36A4F6D36C 3.支

微信App支付通知验签

微信异步通知: [AcceptVerbs("POST")] public void Notify() { //编码(101-登录无效,102-账号无效,200-成功,201-失败,202~299-其他原因1-99,300-无效提交方式,400-无效参数) MessagesDataCodeModel json = new MessagesDataCodeModel(false, "无效参数", 401); int notify_id = 0; string resul

RSA加密解密及RSA加签验签

RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解密并查看数据:加签验签是私钥加签公钥验签,持有私钥(一人持有)可以加签,持有公钥(多人持有)可以验签. 在金融行业在设计到数据交互传输的时候,需要考虑数据的安全性问题.下文通过介绍RSA的加密和加签两个特性,说明RSA加密技术在保障数据传输过程中的安全性以及实现数据的防篡改和防否机制的应用场景及代码

使用RSA、MD5对参数生成签名与验签

在日常的工作中,我们对外提供的接口或调用三方的接口往往有一步生成签名或验签的步骤,这个步骤主要是验证调用方是 不是合法的以及内容是否被修改.比如:对于某些网上公开下载的软件,视频,尤其是镜像文件.如果被修改了可能会导致用不了 或者其他的问题,发布者镜像MD5算法计算一组数值.让下载的用户进行MD5数值对比,也就是MD5校验啦.由于MD5加密不可逆算, 如果数值一样,那就表示文件没有被修改的.反之,则被修改了. 接下来通过文字介绍.代码.运行结果的方式给大家介绍RSA.MD5生成签名和验签: 一.

java/php/c#版rsa签名以及java验签实现

在开放平台领域,需要给isv提供sdk,签名是Sdk中需要提供的功能之一.由于isv使用的开发语言不是单一的,因此sdk需要提供多种语言的版本.譬如java.php.c#.另外,在电子商务尤其是支付领域,对安全性的要求比较高,所以会采用非对称密钥RSA 本文主要介绍如何基于java.php.c#在客户端使用rsa签名,然后在服务端使用Java验签. 基于openssl生成RSA公私钥对 a)从网上下载openssl工具:http://www.slproweb.com/products/Win32

JAVA 实现 基于RSA算法的签名验签

基本步骤 签名方: 1用sha1算出原文的摘要 2用私钥对摘要进行加密 3对密文进行BASE64编码 验证方: 1对密文进行BASE64解码 2用公钥对解码后的密文解密 3用sha1对原文计算摘要并和解密后的明文比对 上干货 //参数字符串         String userId="2312sd";         String orderId="232djfj";         String price="12312";         

java/php/c#版rsa签名以及验签实现

本文为转载,请转载请注明地址: 原文地址为        http://xw-z1985.iteye.com/blog/1837376 在开放平台领域,需要给isv提供sdk,签名是Sdk中需要提供的功能之一.由于isv使用的开发语言不是单一的,因此sdk需要提供多种语言的版 本.譬如java.php.c#.另外,在电子商务尤其是支付领域,对安全性的要求比较高,所以会采用非对称密钥RSA 本文主要介绍如何基于java.php.c#在客户端使用rsa签名,然后在服务端使用Java验签. 基于ope

Python中rsa模块【sign 加签验签】的使用

安装 pip install rsa 使用一 说明:简单入门使用  使用公钥加密  ----------->> 使用私钥进行解密 1 # -*- coding:utf-8 -*- 2 import rsa 3 4 5 def rsa_encrypt(d_str): 6 """ 7 生成私钥 和公钥 并接受字符串进行加密 8 :param d_str: 字符串 9 :return: 返回加密结果及私钥 10 """ 11 # 生成公钥和

RSA加密、解密、加签、验签以及生成公私钥

RSA加解密.加验签.生成公私钥代码如下: package util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.security.KeyFactory; import java.secu