php 如何 decode JAVA base64的数据,JAVA 用的自带的base64,非apache.commons

亚洲
  • 101

刚对接一个数据接口,需要用 base64 进行转码。
正常转码都没问题,但这次一直对接不一致。
原因是他们 (java) 用的自带的 base64 类库,而非 apache.commons 的标准库,导致我没有办法解码出正确数据。
而他们的 post 接口已经被写成公有方法,且有其他对接方在使用,无法单独给我重写一个接口。
所以,需要我自己想办法去解码他们的数据。
奈何水平有限,着实不知道怎么解决。。
google 到一个 php-javaBridge,但我还不知道怎么用,有没有大神教一发?
感谢!

回复
阅读 751
2 个回答

java自带的Base64有三种编码,应该是两边用的不一致造成的
Base64.getEncoder();+/,不换行
Base64.getUrlEncoder();-_,不换行
Base64.getMimeEncoder();+/,用 \n\r 换行

求大佬帮看下,搭了一个java代理,php-javaBridge
截图如下
这是我的jar引入的包
image
这是我调用的方法
image
这是打印出来的解码数据
image

现在对接方又告诉我用的不是自带。。而是apache.commons.codec。。
这个不是标准库吗?
和我们php不是一致的么?
image

数据我也放出来了,他给我的测试数据,放出来应该没啥问题,等解决了再删掉好了。
数据如下:
U+RLnXbLIHg1N8CJY3sMAMz8lnuioK+J1/PkkDFeEICPCfFTCWZQ11eTA2k7igiGfn31BXqxVsBi7L1Z4UsWhlAp4+uHdXNKysUjUH+j9IqkpMf3DWNyqyqjfNkKGx81H0jFDd3qd8fj0RxR87XNQUY+b4SIx7ApNlQ6f2QaWjA=

求大佬救救孩子吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏