天天看点

aes加解密之base64解码遇到的坑

场景:从服务器get请求获取到数据之后,需要将数据进行aes解密。

方法:

1、get请求,获取数据。

2、base64解码。

报错:  illegal base64 data at input byte 0

百度寻求解决办法:https://blog.csdn.net/little_monkey1223/article/details/79045438,获取自己查到的数据长度确实不是4的倍数,缺少一个字节,故在后面添加“=”,但是仍不成功。

想说应该是服务器传过来的数据包含了非法字符,但是打印到屏幕之后自动替换了非法字符。

解决办法:将获取到的字符串赋值给result变量,base64解码时对result[3:]进行解码,成功!

3、aes加解密。

现象:如果将屏幕上打印出来的数据直接进行解密也是成功的,但是就是不能对直接获取到的数据解密(猜想主要是包含非Unicode编码而非utf-8编码的字符而导致的长度不是4的倍数)。

注:个人见解,如果哪位大神觉得说的不对,欢迎留言指出!