java.lang.IllegalArgumentException: Last unit does not have enough valid bits 报错解决

 

问题:
在进行base64加密和解密的过程中会出现 报错:
java.lang.IllegalArgumentException: Last unit does not have enough valid bits

 

原因:
根本原因:编码后的URL长度不符合要求(要求长度是4的倍数)

看了下其他的解决方法 主要是从base64解密方法下手:
---------------------------------------------------
val decoder = Base64.getUrlDecoder();
var url = new String(decoder.decode(base_url))
---------------------------------------------------

这个方法对我没法解决!!因为我的直接原因不是这个!!!

解决方法:
直接原因:url传参时丢失特殊字符(如 “+”、“#” 等)导致位数不足24位

(如果不是我这个原因就再查查吧~~)

举个小栗子:
---------------------------------------------------
encodeYydh.replaceAll("+","%2B") //我这儿的问题是“+”丢失,影响不大,直接替换了.
---------------------------------------------------

总结:

提供个小思路 ~~


————————————————
版权声明:本文为CSDN博主「Aixiaorong_cainiao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44296621/article/details/116658403

posted on 2021-05-11 16:26  sunsmile_258  阅读(6470)  评论(0)    收藏  举报