Android加密算法之MD5加密

因爲Android 平臺支持 java.security.MessageDigest這個包,所以MD5在Android加密中可以像在JavaSE中一樣使用,MD5是一種不可逆的加密算法,我一直想搞清楚爲什麼不可逆,但是發現水很深,乾脆就當場沒有反函數的函數理解。作爲應用開發,我覺得是我們先學會用。下面寫出了個詳細方法:
 /**
  * @param 傳回MD5加密字符串
  * @return
  * @throws NoSuchAlgorithmException
  */
 public static String getMD5(String val) throws NoSuchAlgorithmException {
  MessageDigest md5 = MessageDigest.getInstance("MD5");
  md5.update(val.getBytes());
  byte[] byteStr = md5.digest();// 加密
  StringBuffer sb = new StringBuffer();
  int bytelength = byteStr.length;
  for (int i = 0; i < bytelength; i++) {
   sb.append(byteStr[i]);
  }
  return sb.toString();
 }

後續,不過據說2004年被山東大學一位王小云教授破解了,而且這老爺子還破解了HAVAL-128、 MD4和RIPEMD算法的報告,公佈了MD系列算法的破解結果本屌絲只能對此讚不絕口,牛逼!!!不過我覺得MD5的安全性還是挺高的,世界上本來就沒有絕對安全牛逼不可破解的方式,是軟件總會存安全漏洞,就像人會有生老病死,MD5的安全性已經可以滿足我們的使用了,足夠對付我們的想對付的了。使用時把登錄用戶傳回的MD5加密字符串與數據庫之前存的MD5加密字符串匹配一下一樣就OK,不放心可以再默認加個前綴後綴啥的就更OK了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章