比较文件MD5
来源:互联网 发布:windows exe elf 编辑:程序博客网 时间:2024/06/07 13:24
package com.xl.frame.util;import android.text.TextUtils;import android.util.Log;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5 { private static final String TAG = "MD5"; public static boolean checkMD5(String md5, File updateFile) { if (TextUtils.isEmpty(md5) || updateFile == null) { Log.e(TAG, "MD5 string empty or updateFile null"); return false; } String calculatedDigest = null; try { calculatedDigest = calculateMD5(updateFile); } catch (Exception e) { e.printStackTrace(); } if (calculatedDigest == null) { Log.e(TAG, "calculatedDigest null"); return false; } Log.v(TAG, "Calculated digest: " + calculatedDigest); Log.v(TAG, "Provided digest: " + md5); return calculatedDigest.equalsIgnoreCase(md5); } public static String calculateMD5(File updateFile) { MessageDigest digest; try { digest = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { Log.e(TAG, "Exception while getting digest", e); return null; } InputStream is; try { is = new FileInputStream(updateFile); } catch (FileNotFoundException e) { Log.e(TAG, "Exception while getting FileInputStream", e); return null; } byte[] buffer = new byte[8192]; int read; try { while ((read = is.read(buffer)) > 0) { digest.update(buffer, 0, read); } byte[] md5sum = digest.digest(); BigInteger bigInt = new BigInteger(1, md5sum); String output = bigInt.toString(16); // Fill to 32 chars output = String.format("%32s", output).replace(' ', '0'); return output; } catch (IOException e) { throw new RuntimeException("Unable to process file for MD5", e); } finally { try { is.close(); } catch (IOException e) { Log.e(TAG, "Exception on closing MD5 input stream", e); } } }}
0 0
- 比较文件MD5
- java比较文件相同MD5
- 比较两个图像取文件MD5值
- java计算文件MD5值,比较两文件是否相同
- 使用Python的MD5算法比较两个文件
- 利用MD5算法快速比较文件是否相同
- Lua比较特定目录下特定文件的MD5值
- Golang不使用MD5比较文件内容是否一致
- Golang不使用MD5比较文件内容是否一致
- 比较文件的MD5值或 SHA-1值
- 文件MD5
- 获取文件MD5,MD5加密
- 一个简单的文件MD5码自动计算比较器(附源码)
- java使用计算md5校验码方式比较两个文件是否相同
- iOS 对比两个文件内容是否相同 MD5摘要 与 直接比较
- CTF之MD5截断比较
- md5绕过(Hash比较缺陷)
- 什么是md5文件
- android动画介绍之 自定义Animation动画实现qq抖一抖效果
- arcgis提取单个属性值
- 网站性能优化的三重境界
- 关于类似新浪微博的后台问题
- 官方移动应用开发教程Rad Studio Mobile Tutorials Version XE8
- 比较文件MD5
- &
- 验证码的生成和使用
- sizeof小览
- server建立以及svn使用
- 前端规范(持续)
- [小技巧] Windows 命令行显示英文
- (转)python学习笔记——Thread常用方法
- HDOJ 题目2888 Check Corners(二维RMQ)