热门IT资讯网

java汉字md5不一致如何解决

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,java汉字md5不一致如何解决?很多人都不太了解,今天小编为了让大家更加了解java汉字md5不一致的解决方法,所以给大家总结了以下内容,一起往下看吧。java md5不一致怎么办?Java汉字md

java汉字md5不一致如何解决?很多人都不太了解,今天小编为了让大家更加了解java汉字md5不一致的解决方法,所以给大家总结了以下内容,一起往下看吧。

java md5不一致怎么办?Java汉字md5值不一致问题的解决办法

通过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不一致如何解决就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

0