aes在tomcat解密中文乱码,在控制台解密中文不是乱码

aes在解密后,用byte[]进行接收,需要使用new String();进行转换为字符。只需要指定new String()编码格式便可以解决解密时乱码问题。


接下来我们看下2块解密时部分代码:
1.将aes得到结果转变为字符,不设置编码格式
   new String(aesDecrypt(Base64.decode(ciphertext),Base64.decode(key)))
2.将aes得到结果转变为字符,设置编码格式
   new String(aesDecrypt(Base64.decode(ciphertext),Base64.decode(key)),"UTF-8");

   以上2块代码,在控制台显示都正常。但在tomcat的不同版本或tomcat不同的设置,代码1会出现乱码,代码2没有遇到乱码。所以要习惯性使用代码2,进行编码,防止乱码。



*我多部分博客,都是记录在开发项目中出现并解决的问题。做个记录,大家可以做个参考。有不足的地方,还望指教。

你可能感兴趣的:(java,aes)