微信下單支付所需MD5加密

  1. public class MD5 {  
  2.     private final static String[] hexDigits = {"0""1""2""3""4""5""6""7",  
  3.             "8""9""a""b""c""d""e""f"};  
  4.   
  5.     /** 
  6.      * 轉換字節數組爲16進制字串 
  7.      * @param b 字節數組 
  8.      * @return 16進制字串 
  9.      */  
  10.     public static String byteArrayToHexString(byte[] b) {  
  11.         StringBuilder resultSb = new StringBuilder();  
  12.         for (byte aB : b) {  
  13.             resultSb.append(byteToHexString(aB));  
  14.         }  
  15.         return resultSb.toString();  
  16.     }  
  17.   
  18.     /** 
  19.      * 轉換byte到16進制 
  20.      * @param b 要轉換的byte 
  21.      * @return 16進制格式 
  22.      */  
  23.     private static String byteToHexString(byte b) {  
  24.         int n = b;  
  25.         if (n < 0) {  
  26.             n = 256 + n;  
  27.         }  
  28.         int d1 = n / 16;  
  29.         int d2 = n % 16;  
  30.         return hexDigits[d1] + hexDigits[d2];  
  31.     }  
  32.   
  33.     /** 
  34.      * MD5編碼 
  35.      * @param origin 原始字符串 
  36.      * @return 經過MD5加密之後的結果 
  37.      */  
  38.     public static String MD5Encode(String origin) {  
  39.         String resultString = null;  
  40.         try {  
  41.             resultString = origin;  
  42.             MessageDigest md = MessageDigest.getInstance("MD5");  
  43.             md.update(resultString.getBytes("UTF-8"));  
  44.             resultString = byteArrayToHexString(md.digest());  
  45.         } catch (Exception e) {  
  46.             e.printStackTrace();  
  47.         }  
  48.         return resultString;  
  49.     }  
  50.   
  51. }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章