zoukankan      html  css  js  c++  java
  • Java汉字md5值不一致问题

    原文:http://blog.csdn.net/earthhour/article/details/51188437

    通过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;  
    }  
  • 相关阅读:
    进程和线程
    堡垒机初识--paramiko模块
    python三元运算
    python 遍历文件夹
    CentOs7安装rabbitmq
    logstash 中配置GeoIP解析地理信息
    Centos7单机部署ELK
    Nginx修改access.log日志时间格式
    nginx日志增加cookie信息
    socketserver多线程处理
  • 原文地址:https://www.cnblogs.com/shihaiming/p/8023628.html
Copyright © 2011-2022 走看看