Java实现MD5加密

import java.io.UnsupportedEncodingException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;


public class MD5 {


/**

* @param args

*/

public static void main(String[] args) 

{

// TODO Auto-generated method stub

String s = "http://hi.baidu.com/new/kissorz";

 

    System.out.println(getMD5Str(s));

 

}

 /*

* MD5加密

*/

    private static 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]));     

        }     

      //16位加密,从第9位到25位,则将相应的数字改为8,24

        return md5StrBuff.substring(0, 32).toString().toUpperCase();    

    }  

}

 

你可能感兴趣的:(java实现)