java md5不一致怎么办

互联网 20-4-7

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不一致怎么办的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java乱码过滤器的解决办法

相关资讯