最近写了个aes加解密 加密是没有多大问题,但是问题就是在于解密,
可能大家的报错情况都不太一样,我这里的报错原因是因加密的时候 我使用的是
Base64.getUrlDecoder().decode(sSrc)
这里注意一下用的是getUrlDecoder 导致返回密文
String originalString = new String(original, StandardCharsets.UTF_8);
含有 ”-“ 和 ”_“ 这两种符号
所以在解密的时候 获取Base64时也是需要使用和加密对应的方法:
Base64.getUrlDecoder().decode(sSrc)
不然会报错 出现标题上面的错误信息
Illegal base64 character 5f,
Illegal base64 character 2d
具体原因应该是因为: getDecoder 会 "_" "-" 无效
Base64.getDecoder().decode(bytes)
解码具有无效Base64 '_'
字符的字符串
临时的解决方法 具体原因还需要看下 如果有知道原因的可以留言分享下 谢谢!!!!