2011年10月29日

Android: 產生MD5

檔案的MD5碼可用來檢查檔案是否有毀損或異動,
底下的作法,在讀取檔案的同時,進行MD5計算, 省時又方便!

public String getMD5(InputStream is) {
 try {
      byte[] buffer = new byte[1024];
      MessageDigest mdf = MessageDigest.getInstance("MD5");
      int num;
      do {
        num = is.read(buffer);
        if(num > 0){
           mdf.update(buffer, 0, num);
           //同時可以處理讀進來的buffer
           //.......  
        } 
      } while(num != -1);
      is.close();
      return toHexString(mdf.digest());
 } catch (Exception e) { }
      return null;
}
private String toHexString(byte[] bytes) {
     StringBuilder hexString = new StringBuilder();      for (byte b : bytes)           hexString.append(Integer.toHexString(0xFF & b));      return hexString.toString(); }

沒有留言: