问题描述
项目当中使用了base64加密,然后接口返回的是加密数据,而前端进行解密展示。
在本地前端连接后台访问一切正常,一部署到服务器加密解密就乱码了

解决过程
打开tomcat

后面加上 -Dfile.encoding=“UTF-8”

加完之后发现没有效果。
这是我的加密方法。
/**
* 编码
* @param data
* @return
*/
public static String encodeChar(String date){
final Base64.Encoder encoder = Base64.getEncoder();
return encoder.encodeToString(date.getBytes());
}
通过修改字节的字符集,就解决了。
date.getBytes(“utf-8”)
/**
* 编码(字符串)
* @param data
* @return
* @throws UnsupportedEncodingException
*/
public static String encodeChar(String date){
try {
return Base64.getEncoder().encodeToString(date.getBytes("utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
总结
当本地没问题,而部署到tomcat有问题的时候,首先就要考虑是否是tomcat配置等出现问题。
再者考虑字符编码格式。
本文介绍了一种解决Base64加密解密过程中出现乱码的方法。通过调整字符编码为UTF-8,确保前后端一致,解决了部署到Tomcat服务器后的乱码问题。
4405

被折叠的 条评论
为什么被折叠?



