微信退款 java工具类,微信支付中退款踩坑记录
首先附上微信支付的开发者文档
其实这里所说的踩坑记录,无非就是微信在开发者文档上的写不太明确,也没有比较官方的demo,在此列出一个可行的demo,供大家下载使用。
主要问题就是在这几步解密上
微信的解密算法
首先是base64解码的工具类
base64Utils
这个工具类都是比较简单的,大部分的框架都会封装这种类似的工具类,这里自己做简单封装
然后是md5工具类,这个就不往外放了,网上多的是,现成的也多的是
主要坑人的地方是第三条。。。
解密参数设置
AES解密方法
上面写明了用AES-256-ECB-PKCS7Padding,但是你把下面的ALGORITHM_MODE_PADDING参数换成AES/ECB/PKCS7Padding,发现报了这么个异常
java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES/ECB/PKCS7Padding,
然后把参数改成AES/ECB/PKCS5Padding,发现 Illegal key size or default parameters
解决方法:
JDK8 jar包下载地址:
JDK7 jar包下载地址:
JDK6 jar包下载地址:
把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来jdk安装目录Java\jre\lib\security 下的两个jar包接可以了
然后运行一些试试,,此时代码正常,数据正常。。。
因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件, 从官方网站下载JCE无限制权限策略文件,注意自己JDK的版本别下错了。将local_policy.jar和US_export_policy.jar这两个文件替换%JRE_HOME%\lib\security和%JDK_HOME%\jre\lib\security下原来的文件,注意先备份原文件。
微信退款 java工具类,微信支付中退款踩坑记录相关推荐
- java 工具类-去除字符串中特殊字符、全角转为半脚、获取字符串中姓名/电话、姓名重复后追加a.b.c...aa,ab..
java 工具类-去除字符串中特殊字符.全角转为半脚.获取字符串中姓名/电话.姓名重复后追加a.b.c-aa,ab- public class NameUtil {/*** 姓名重复后追加a.b.c. ...
- 使用Java读取 “Python写入redis” 的数据踩坑记录
https://my.oschina.net/u/2338224/blog/3061507 使用Java读取 "Python写入redis" 的数据踩坑记录 https://seg ...
- java工具类-判断一个对象中属性是否为null 或空字符串
判断该对象是否为空对象 import cn.com.hwqh.user.entity.model.User;import java.lang.reflect.Field;/***判断该对象是否: 返回 ...
- 微信小程序请求不到接口解决(踩坑记录)
检查 域名是否配置了ssl证书 小程序后台-开发-开发设置-服务器域名中是否配置了域名 配置完后可以在开发者工具中查看 如果还是不能请求到接口,请检查 ssl证书链是否有问题 myssl检测工具 我的 ...
- 微信小程序 html css xml,微信小程序 使用towxml解析html流程及踩坑记录
towxml相对于wxParse还是有一定优势的,首先一些废弃或者过新的标签wxParse是不能解析的,会导致整个页面不能显示,其次 towxml对于界面的排版优化是比较美观的,对于开发者还算比较友好 ...
- java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
文章简介 本文分享Jenkins实现邮件发送,安装Jenkins可参考jenkins安装.写这篇文章,是在实际使用Jenkins过程中遇到这样一个问题,当每次Jenkins构建成功或者失败后,需要个人 ...
- java国际化服务器不识别_国际化踩坑记录java.util.MissingResourceException:
在做国际化的时候遇到一个bug是无法加载到根目录下的自定义的properties文件 报错如下: java.util.MissingResourceException: Can't find bund ...
- Unity个人开发中的踩坑记录(混沌式更新)
DateTime时间戳计算 一言蔽之,通常使用DateTime计算时间戳,起始时间点为UTC时间1970年1月1日0点整,需手动设置一个基准DateTime来处理. DateTime StartDat ...
- 安装KeOps过程中的踩坑记录
由于需要跑一篇论文的代码,需要安装KeOps.这里忍不住再吐槽一次:Python开发环境的版本依赖管理太混乱了,加上各种操作系统,驱动,CUDA版本等等,太浪费生命.所以,如果要写论文,发布open ...
最新文章
- FPGA之道(28)VHDL的并行语句
- 实验6_MPEG音频编码实验
- 调用系统函数向进程发信号core
- 遇见不在洛谷收藏里的好题(并没有做)
- zend studio怎么连接mysql?
- libSM.so.6: cannot open shared object file: No such file or directoryapt-file search libSM.so.6
- 解决办法:RuntimeError: module compiled against API version 0xc but this version of numpy is 0xa
- c语言打印%-6llu,C语言-输出指定个数的质数
- SSM SpringBoot vue教务排课系统
- 【单片机仿真】(五)寻址方式 — 立即寻址与寄存器间接寻址
- 计算机恢复出厂设置xp,电脑xp一键恢复出厂设置
- 改善网页性能的5种方法
- 用户浏览器会话跟踪技术Cookie和Session
- html标签指定式权重,alternate和Canonical标签防止重复收录分散权重
- python excel处理重复行并统计个数_python统计一个文本中重复行数的方法
- 51.Linux 什么是线程?
- pg_restore恢复备份(记录一下)
- 学java被“劝退”的第三天
- SMP、COW、PVP、MPP计算机相关
- [Django1.5] two-scoops-django-best-practices 读书笔记
热门文章
- CDN怎么用?有哪些优势呢?如何挑选CDN服务商?
- ai写作软件免费-ai写作助手
- 域控制器需要安装文件服务器,域控服务器需要配置dns吗
- XVWA CSRF、Cryptography、Unvalidated Redirects and Forwards
- linux – 在hosts文件中为1个条目分配多个IP
- MySQL中的Boolean类型
- libreoffice python_从python运行Libreoffice BASIC宏
- html5 车牌识别,车牌识别系统
- selenium通过文本定位
- [linux数据库]error while loading shared libraries: libnsl.so.1: wrong ELF class: ELFCLASS32