日期:2014-05-17  浏览次数:20765 次

java中的md5加密问题
我弄了个加密方法,在myeclipse8.5中使用main方法调用这个md5加密方法,得出的结果是
字符串==error606@qq.com|工工工|!@$%&1000
md5后==b08f601a7b6b440dfa3ed6eb353c2d24

但是在应用中调用同一个md5方法 使用tomcat服务器得到的
字符串==error606@qq.com|工工工|!@$%&1000
md5==db9e73be9742ed2a66202a62f491ef03

我已经将我的myeclipse的jdk指定为自己安装的jdk 和tomcat是一致的了,应用中的方法字符串是写的这个固定字符串值
我也已经将我的encodingFilter过滤器干掉了还是如此

求真相!!!!!!

------解决方案--------------------
前一个是utf-8编码的,后一个是gbk编码的。

------解决方案--------------------
Java code
import static org.apache.commons.codec.digest.DigestUtils.md5Hex;

String text = "error606@qq.com|工工工|!@$%&1000";
String r1 = md5Hex(text); // b08f601a7b6b440dfa3ed6eb353c2d24
String r2 = md5Hex(text.getBytes("UTF-8")); // b08f601a7b6b440dfa3ed6eb353c2d24
String r3 = md5Hex(text.getBytes("GBK")); // db9e73be9742ed2a66202a62f491ef03

------解决方案--------------------
在web.xml里配置过滤器,把编码统一过滤成utf-8这一种编码就行了