当前位置:编程学习 > JAVA >>

java MD5 加密

   /**
     * MD5 加密
     */ 
    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(); 
    }
 
 
 
 
//////////////////////////////////////方法二
import java.security.MessageDigest;
public class Test_MD5{
public final static String MD5(String s) {
  char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
  'a', 'b', 'c', 'd', 'e', 'f' };
  try {
   byte[] strTemp = s.getBytes();
   //使用MD5创建MessageDigest对象
   MessageDigest mdTemp = MessageDigest.getInstance("MD5");
   mdTemp.update(strTemp);
   byte[] md = mdTemp.digest();
   int j = md.length;
   char str[] = new char[j * 2];
   int k = 0;
   for (int i = 0; i < j; i++) {
    byte b = md[i];
    //System.out.println((int)b);
    //将没个数(int)b进行双字节加密
    str[k++] = hexDigits[b >> 4 & 0xf];
    str[k++] = hexDigits[b & 0xf];
   }
   return new String(str);
  } catch (Exception e) {return null;}
  }
  //测试
public static void main(String[] args) {
  System.out.println("caidao的MD5加密后:/n"+Test_MD5.MD5("caidao"));
  System.out.println("http://www.baidu.com/的MD5加密后:/n"+Test_MD5.MD5("http://www.baidu.com/"));
}
}

作者 I'm Different
补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,