我是靠谱客的博主 小巧犀牛,最近开发中收集的这篇文章主要介绍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加密不一致所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部