我是靠谱客的博主 小巧犀牛,这篇文章主要介绍windows环境和linux环境MD5加密不一致,现在分享给大家,希望可以做个参考。

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加密不一致内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(147)

评论列表共有 0 条评论

立即
投稿
返回
顶部