您的位置:首页 > 运维架构 > Tomcat

IntelliJ Idea中怪异出错bug,tomcat中和main中md5加密不一致

2015-08-11 11:31 721 查看
事件背景:

本人用两个开发工具开发项目,在某一次中,使用了eclipse调用idea中的项目(两个工具都是把项目部署到tomcat中的),突然就报错了。签名一直过不了。最后跟踪代码发现问题出现在md5加密上。

各家用的md5加密都不一致。最后发现inbuf.getBytes(“utf-8”) 这句代码,没修改之前是inbuf.getBytes();所以在tomcat下和单独的main测试出来的加密串是不正常的(在有中文的情况下)

~~跟踪了下,发现在tomcat下,getBytes(),eclipse按utf-8编码,而在idea中,按gbk编码。所以指定为固定的utf-8. 就对了



所以以后再遇到类似的怪异问题。先查找默认获取的编码是什么。

ok,困扰了很久的问题。终于解决了

private String getMD5ofStr(String inbuf) {
if (inbuf == null) {
inbuf = "";
}
md5Init();
try {
md5Update(inbuf.getBytes("utf-8"), inbuf.length());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
md5Final();
digestHexStr = "";

for (int i = 0; i < 16; i++) {
digestHexStr += byte2hex(digest[i]);
}

return digestHexStr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: