MD5算法[ java 实现]

 Java代码 复制代码 收藏代码

  1. import java.io.UnsupportedEncodingException;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4.  
  5. public class MD5 {
  6.  
  7. /**
  8. * @param args
  9. */
  10. public static void main(String[] args) {
  11. String str = "abc123";
  12. System.out.println(MD5.getMD5Str(str));
  13. }
  14.  
  15. private static String getMD5Str(String str) {
  16. MessageDigest messageDigest = null;
  17.  
  18. try {
  19. messageDigest = MessageDigest.getInstance("MD5");
  20.  
  21. messageDigest.reset();
  22.  
  23. messageDigest.update(str.getBytes("UTF-8"));
  24. } catch (NoSuchAlgorithmException e) {
  25. System.out.println("NoSuchAlgorithmException caught!");
  26. System.exit(-1);
  27. } catch (UnsupportedEncodingException e) {
  28. e.printStackTrace();
  29. }
  30.  
  31. byte[] byteArray = messageDigest.digest();
  32.  
  33. StringBuffer md5StrBuff = new StringBuffer();
  34.  
  35. for (int i = 0; i < byteArray.length; i++) {
  36. if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
  37. md5StrBuff.append("0").append(
  38. Integer.toHexString(0xFF & byteArray[i]));
  39. else
  40. md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
  41. }
  42.  
  43. return md5StrBuff.toString();
  44. }
  45. }  
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "abc123";
		System.out.println(MD5.getMD5Str(str));
	}

	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]));
		}

		return md5StrBuff.toString();
	}
}

 

你可能感兴趣的:(java)