java.lang.IllegalArgumentException: Last unit does not have enough valid bits 报错解决
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