java md5不一致怎么办
程序员文章站
2022-03-05 16:25:48
...
java md5不一致怎么办?Java汉字md5值不一致问题的解决办法
推荐教程:《java学习》
通过main方法测试得到一个加密值,通过servlet request调用得到一个加密值,都是加密相同的汉字,但是结果不同。
如果是加密英文,则不会有这种问题。
原因就在于汉字编码,在加密时设置一下编码UTF-8,问题解决。
public static String EncoderByMd5(String str) { String result = ""; MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD5"); // 这句是关键 md5.update(str.getBytes("UTF-8")); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } byte b[] = md5.digest(); int i; StringBuffer buf = new StringBuffer(""); for (int offset = 0; offset < b.length; offset++) { i = b[offset]; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } result = buf.toString(); return result; }
以上就是java md5不一致怎么办的详细内容,更多请关注其它相关文章!
推荐阅读
-
eclipse编程时出现Fail to create the java Virtual Machine怎么办?
-
java利用Apache commons codec进行MD5加密,BASE64加密解密,执行系统命令
-
MyEclipse8.5导入java项目后会出现红色波浪线怎么办?
-
java开发之MD5加密算法的实现
-
java易懂易用的MD5加密(可直接运行) (1)第1/2页
-
java 易懂易用的MD5加密(可直接运行)(2)
-
JAVA中使用MD5加密实现密码加密
-
node.JS md5加密中文与php结果不一致的解决方法
-
eclipse编程时出现Fail to create the java Virtual Machine怎么办?
-
3Dmax中VR帧缓存保存图片色调不一致该怎么办?