最近写了个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 '_'字符的字符串
临时的解决方法 具体原因还需要看下 如果有知道原因的可以留言分享下 谢谢!!!!
本文详细解析了AES加密过程中使用Base64.getUrlDecoder()进行解码时遇到的特殊字符处理问题,特别是如何正确处理-和_字符,避免解密时出现Illegal base64 character错误。
5816





