能不能给个MD5的加密算法
顺便解释下,小弟新手

解决方案 »

  1.   

    首先需要说明的是,MD5是做散列的(数据摘要算法),用于检验原始信息是否被修改,不是“加密”。另外,MD5是Java直接支持的:
        private String getMD5Str(String str) {  
            MessageDigest messageDigest = null;   
            try {  
                messageDigest = MessageDigest.getInstance("MD5"); // 获取签名器    
                messageDigest.reset();    
                messageDigest.update(str.getBytes("UTF-8"));  
            } catch (NoSuchAlgorithmException e) {  
                System.out.println("NoSuchAlgorithmException caught!");  
                System.exit(-1);  
            } catch (UnsupportedEncodingException e) {  
                e.printStackTrace();  
            }    
            byte[] byteArray = messageDigest.digest();  
      
            StringBuffer md5StrBuff = new StringBuffer(); 
      
            for (int i = 0; i < byteArray.length; i++) {              
                if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)  
                    md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));  
                else  
                    md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));  
            }  
      
            return md5StrBuff.toString();  
        } 
    关于MD5介绍:http://zh.wikipedia.org/wiki/MD5