概述
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”)
最后
以上就是小巧犀牛为你收集整理的windows环境和linux环境MD5加密不一致的全部内容,希望文章能够帮你解决windows环境和linux环境MD5加密不一致所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复