aes在解密后,用byte[]进行接收,需要使用new String();进行转换为字符。只需要指定new String()编码格式便可以解决解密时乱码问题。
一、下面两个方式解密时部分代码:
1.将aes得到结果转变为字符,不设置编码格式
new String(aesDecrypt(Base64.decode(ciphertext),Base64.decode(key)));
2.将aes得到结果转变为字符,设置编码格式 UTF-8
new String(aesDecrypt(Base64.decode(ciphertext),Base64.decode(key)),"UTF-8");
方式1,在tomcat的不同版本或tomcat不同的设置,方式1 会出现乱码,方式2没有遇到乱码。
防止乱码,要用方式2
二、或者是在tomcat加上 选择项目部署的tomcat,在配置项VM options文本框中输入-Dfile.encoding=UTF-8,点击Apply或OK即可。