问题:
本地项目使用移动云MAS发送短信服务,里面涉及MD5加密和base64编码,通过postman请求本地接口可正常发送短信,但是部署到tomcat服务器上(window服务器),一直发送失败,故开始分析,1,换服务器,重新布置一个tomcat,结果不行,2,使用框架里自带的方法,结果不行,3,端口是否占用,结果没有占用,4,查看发送短信的编码内容,看本地和服务器是否一致,神奇一幕出现了,两者MD5值竟然不同,故找到原因了
解决:
本地项目是window下编写,测试正常,公司服务器为window,编码GBK,要是linux服务器,编码UTF-8,
在字符串MD5之前先UTF-8编码,后再MD5加密,这样就行了
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes("UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}