Android 文件MD5计算

例子代码走起,
MD5 md5sum = new MD5();
md5sum.md5sum("/sdcard/xxx/yy.java");

MD5类文件:
import java.io.FileInputStream;
import java.io.InputStream;
import java.security.MessageDigest;

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

public MD5() {

    // System.out.println(md5sum("/init.rc"));

 }

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

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

public String md5sum(String filename) {
    InputStream fis;
    byte[] buffer = new byte[1024];
    int numRead = 0;
    MessageDigest md5;
    try{
        fis = new FileInputStream(filename);
        md5 = MessageDigest.getInstance("MD5");
        while((numRead=fis.read(buffer)) > 0) {
            md5.update(buffer,0,numRead);
        }
        fis.close();
        return toHexString(md5.digest());   
    } catch (Exception e) {
        System.out.println("error");
        return null;
    }
}

}

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 131,792评论 18 138
  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    禅与计算机程序设计艺术阅读 3,339评论 2 8
  • 看最近热剧――我的前半生,频频出现外滩和东方明珠的画面,恰巧前几天去上海,总感觉自己拍的这几张照片和剧情很应景,好...
    朱春黎阅读 182评论 12 10
  • 参考博客:https://www.cnblogs.com/zhou--fei/p/6747938.html 一、d...
    猿二胖阅读 1,155评论 0 0
  • 感情篇: 听了一首歌叫《做在巷口的那对男女》,配上龙陵这连续半个月未停的雨,糟糕心情涌上来,下意识的就...
    灿絮阅读 133评论 0 0
  • -01- 你更喜欢童话,还是现实 电影一开篇讲了一位作家找到了年到中旬的派,听他讲述了一个听了之后会相信上帝的故事...
    如此安好的树阅读 424评论 0 0