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,困扰了很久的问题。终于解决了
本人用两个开发工具开发项目,在某一次中,使用了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; }
相关文章推荐
- Tomcat Session管理机制(Tomcat源码解析七)
- eclipse远程调试tomcat
- 解决MAC OS X Myeclipse 启动 Tomcat时控制台乱码问题
- 解决有些Eclipse无法启动安装的Tomcat而是Eclipse自带的Tomcat
- [ Tomcat ] 自动更新脚本
- Tomcat安装配置
- 修改tomcat浏览器地址栏图标
- 修改tomcat浏览器地址栏图标
- Tomcat类加载器机制(Tomcat源码解析六)
- 安装两个tomcat的配置
- windows下solr7.9+tomcat7环境搭建
- Tomcat的管道(Pipeline)机制以及Context,Wrapper容器
- Tomcat请求处理过程(Tomcat源码解析五)
- 关于tomcat启动成功,无法访问的各种坑爹集锦
- [J2EE]命令行删除、安装tomcat服务器
- Tomcat+Servlet登录页面实例
- Tomcat关闭过程(Tomcat源码解析四)
- Eclipse启动Tomcat时,45秒超时解决方式
- 基于64位CentOS6.4安装Tomcat8.0
- 直接部署java项目到tomcat服务器