Java代码 MD5算法[ java 实现] _java MD5算法[ java 实现] _java_02

  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. }