JAVA字符串转换MD5值

时间:2023-03-09 14:53:58
JAVA字符串转换MD5值

简介:

  MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。

实现代码:

  public static String backMD5(String inStr){  
           
        MessageDigest md5 = null;  
        
        try{  
        
            md5 = MessageDigest.getInstance("MD5");  
        
        }catch (Exception e){  
         
            System.out.println(e.toString());  
            e.printStackTrace();  
           
            return "";  
        }
        
        char[] charArray = inStr.toCharArray();
        byte[] byteArray = new byte[charArray.length];
 
        for (int i = 0; i < charArray.length; i++)  
            byteArray[i] = (byte) charArray[i];  
       
        byte[] md5Bytes = md5.digest(byteArray);  
        StringBuffer hexValue = new StringBuffer();  
        
        for (int i = 0; i < md5Bytes.length; i++){  
            
            int val = ((int) md5Bytes[i]) & 0xff;  
            if (val < 16)  
                hexValue.append("0");  
            hexValue.append(Integer.toHexString(val));  
        }  
       
        return hexValue.toString();  
 
    }