forked from chanjarster/weixin-java-tools
-
-
Notifications
You must be signed in to change notification settings - Fork 8.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value #1610
Comments
楼主解决了吗? 我也遇到这个问题了 一开始以为是JDK的问题 但是换了好多个版本都是一样的问题 |
#1454 猜测跟这个有关系 |
请检查 commons-codec 版本,不能用 1.13的 |
wiki里常见问题里有说明过这个问题 |
准备换用guava替代commons-codec实现base64解码 |
binarywang
added a commit
that referenced
this issue
Jun 11, 2020
这个替换也没替换完啊,3.9.0里WxCryptUtil、WxMaCryptUtils、WxPayRefundNotifyResult、EntPayServiceImpl、还是用的 commons-codec |
谁说要完全替换的,只是关于base64编码的代码 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
简要描述
public String authGet(@PathVariable Long appId,
![image](https://user-images.githubusercontent.com/57850028/84104963-7de95680-aa49-11ea-9ae6-15737fbdeb15.png)
@RequestParam(name = "msg_signature", required = false) String signature,
@RequestParam(name = "timestamp", required = false) String timestamp,
@RequestParam(name = "nonce", required = false) String nonce,
@RequestParam(name = "echostr", required = false) String echostr) {
//...
if (wxCpService.checkSignature(signature, timestamp, nonce, echostr)) {
// 这里调 decrypt(echostr) 发生异常,应该是依赖的版本有冲突
return new WxCpCryptUtil(wxCpService.getWxCpConfigStorage()).decrypt(echostr);
}
return "非法请求";
模块版本情况
详细描述
尽量详细描述。请不要使用截图,尽量使用文字描述,代码直接贴上来,日志则请附在后面所示区域。
日志
java.lang.IllegalArgumentException: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value
at org.apache.commons.codec.binary.Base64.validateCharacter(Base64.java:798)
at org.apache.commons.codec.binary.Base64.decode(Base64.java:477)
at org.apache.commons.codec.binary.BaseNCodec.decode(BaseNCodec.java:411)
at org.apache.commons.codec.binary.BaseNCodec.decode(BaseNCodec.java:395)
at org.apache.commons.codec.binary.Base64.decodeBase64(Base64.java:694)
at me.chanjar.weixin.cp.util.crypto.WxCpCryptUtil.(WxCpCryptUtil.java:47)
The text was updated successfully, but these errors were encountered: