1.md5加密时由于环境编码不一致导致(因为Linux是UTF-8,而windows是gb2312或者GBK)
2.解决方案
原先代码
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
} catch (Exception ex) {
}
return resultString.toUpperCase();
}
改后代码
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString = new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString = byteArrayToHexString(md.digest(resultString.getBytes("UTF-8")));
} catch (Exception ex) {
}
return resultString.toUpperCase();
}
即,把resultString.getBytes() 变为 resultString.getBytes(“UTF-8”)