Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Android對文件的MD5驗證

Android對文件的MD5驗證

編輯:中級開發

1.   說明
android自帶的MD5校驗類
2.   例程
1)       功能
對文件/init.rc做MD5計算,並以字串的方式顯示
2)       可從此處下載可獨立運行的代碼
http://download.csdn.Net/source/2660824

3)       使用Linux命令得到MD5值
$ md5sum init.rc
4)       核心代碼及說明

  1. import Java.security.MessageDigest;
     
  2. import Java.io.FileInputStream;
     
  3. import Java.io.InputStream;
     

  4.  
  5. public class MD5 {
     
  6.     private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
     
  7. 'A', 'B', 'C', 'D', 'E', 'F' };
     

  8.  
  9.     public static void main(String[] args)
     
  10.     {
     
  11.         System.out.println(md5sum("/init.rc"));
     
  12.     }
     

  13.  
  14.     public static String toHexString(byte[] b) {
     
  15.         StringBuilder sb = new StringBuilder(b.length * 2);
     
  16.         for (int i = 0; i < b.length; i++) {
     
  17.             sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]);
     
  18.             sb.append(HEX_DIGITS[b[i] & 0x0f]);
     
  19.         }
     
  20.         return sb.toString();
     
  21.     }
     

  22.  
  23.     public static String md5sum(String filename) {
     
  24.         InputStream fis;
     
  25.         byte[] buffer = new byte[1024];
     
  26.         int numRead = 0;
     
  27.         MessageDigest md5;
     
  28.         try{
     
  29.             fis = new FileInputStream(filename);
     
  30.             md5 = MessageDigest.getInstance("MD5");
     
  31.             while((numRead=fis.read(buffer)) > 0) {
     
  32.                 md5.update(buffer,0,numRead);
     
  33.             }
     
  34.             fis.close();
     
  35.             return toHexString(md5.digest());   
     
  36.         } catch (Exception e) {
     
  37.             System.out.println("error");
     
  38.             return null;
     
  39.         }
     
  40.     }
     
  41. }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved