获取文件MD5值

  • 记录一下获取文件md5值的方法
    /**
    * 获取文件MD5值
    * @param FilePath
    * @return
    */
    static String GetMd5(String FilePath) {
        char hexdigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
        FileInputStream fis = null;
        String sString;
        char str[] = new char[16 * 2];
        int k = 0;
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            fis = new FileInputStream(FilePath);
            byte[] buffer = new byte[1024];
            int length = -1;
            while ((length = fis.read(buffer)) != -1) {
                md.update(buffer, 0, length);
            }
            byte[] b = md.digest();
            for (int i = 0; i < 16; i++) {
                byte byte0 = b[i];
                str[k++] = hexdigits[byte0 >>> 4 & 0xf];
                str[k++] = hexdigits[byte0 & 0xf];
            }
            fis.close();
            sString = new String(str);
            return sString;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                    fis = null;
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 修改文件名/文件修改时间/文件类型都无法改变其md5值 对其同路径下所有文件以及文件夹中文件进行去重。 通过字典去重
    小幸运Q阅读 4,375评论 0 0
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,850评论 8 265
  • 3组 刘美芹 江苏南通 2017年 09 月16日 [拳头]身修家和 美丽中国 二阶段打卡 动机打卡 ...
    刘小兔子阅读 1,534评论 0 0
  • 在简文互动中,经常看到“一丛兰”这个名;在简评中,也看到有人称她为简丛中的李清照,我想,自然是诗文写的好,而且生活...
    甄玺阅读 3,602评论 43 57
  • 我点亮三月的心湖 梦幻牵绊着沉睡的冰丝 伴随着火光 红纱轻幔 鲜衣怒马 映透那夜的冰河 别了月光,别了喧闹,别了,...
    陈小北啊阅读 3,012评论 0 1