last block incomplete in decryption
测试AES加密参数时报出的错,对比参数,发现接口收到的请求参数少了个+号。这是因为+号在URL中是一个特殊字符,所以传递时可能会丢失。
处理方案
- 使用
param.replaceAll(" ", "+")
统一替换空格为+号。 - 前端传递参数时,将客户端带“+”的参数中的“+”全部替换为“2B%”。
- 换请求方式为POST。
- 加密为16进制,不要有字母和+号这些。
以上4种方案,就感觉用第4种最合适,因为使用post方式接收String参数,测试下来还是会丢失+号,第4个方案则因为参数是对接系统传的,也没办法让改,只能先采用1方案暂时满足需求了。