1、首先,确定向量和密钥两个是否对应。
2、进入后台,点击调试-测试URL加密解密,测试下你所加密的数据是能正确解密。
3、Java在解密长字符串的时候提示解密失败。
此情况一般是加密字符串添加了换行符。原因是:根据RFC822规定,BASE64Encoder编码每76个字符,还需要加上一个回车换行。部分Base64编码的Java库还按照这个标准实行。
解决方案
1、换用Apache的 commons-codec.jar, Base64.encodeBase64String(byte[])得到的编码字符串是不带换行符的。
或者:
2、用字符串对象的replaceAll方法替换掉\r和\n,代码如下:replaceAll("[\\s*\t\n\r]", "");
参见:
Base64编码出现换行符
base64加密后会有换行符