Java汉字md5值不一致问题
2016-04-19 11:00
639 查看
通过main方法测试得到一个加密值,通过servlet request调用得到一个加密值,都是加密相同的汉字,但是结果不同。
如果是加密英文,则不会有这种问题。
原因就在于汉字编码,在加密时设置一下编码UTF-8,问题解决。
如果是加密英文,则不会有这种问题。
原因就在于汉字编码,在加密时设置一下编码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.lang.IllegalArgumentException: Receiver not registered: null
- qq javax.mail.authenticationfailedexception
- 出现java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题的解决办法
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- springmvc文件上传
- JavaSE 扫雷项目展示
- MyEclipse取消自动跳到Console窗口
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
- JAVA数组详解
- Java的类成员变量,实例变量,类变量,成员方法,实例方法,类方法
- <java API源码初体验>4---collection集合之HashSet原理分析
- java项目命名规范
- java环境安装(win7)
- Java——Socket编程(一)
- java环境安装(win7)
- spring mvc 异常处理Log4j配置
- itext-asian 生成pdf 之spring boot
- 可添加注释的有序java properties扩展类
- Eclipse使用Maven构建web项目详解
- Java FileInputStream和FileOutputStream