public class MD5Check { /** * 默认的密码字符串组合,用来将字节转换成 16 进制表示的字符,apache校验下载的文件的正确性用的就是默认的这个组合 */     protected char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };     protected  MessageDigest messagedigest = null;

{         try {             messagedigest = MessageDigest.getInstance("MD5");         } catch (NoSuchAlgorithmException e) {             e.printStackTrace();         }     }     public String getFileMD5String(File file) throws IOException {         InputStream fis;         fis = new FileInputStream(file);         byte[] buffer = new byte[1024];         int numRead = 0;         while ((numRead = fis.read(buffer)) > 0) {             messagedigest.update(buffer, 0, numRead);         }         fis.close();         return bufferToHex(messagedigest.digest());     }

public String getFileMD5String(InputStream in) throws IOException {         byte[] buffer = new byte[1024];         int numRead = 0;         while ((numRead = in.read(buffer)) > 0) {             messagedigest.update(buffer, 0, numRead);         }         in.close();         return bufferToHex(messagedigest.digest());     }     private String bufferToHex(byte bytes[]) {         return bufferToHex(bytes, 0, bytes.length);     }     private String bufferToHex(byte bytes[], int m, int n) {         StringBuffer stringbuffer = new StringBuffer(2 * n);         int k = m + n;         for (int l = m; l < k; l++) {             appendHexPair(bytes[l], stringbuffer);         }         return stringbuffer.toString();     }     private void appendHexPair(byte bt, StringBuffer stringbuffer) {         char c0 = hexDigits[(bt & 0xf0) >> 4];// 取字节中高 4 位的数字转换         // 为逻辑右移,将符号位一起右移,此处未发现两种符号有何不同         char c1 = hexDigits[bt & 0xf];// 取字节中低 4 位的数字转换         stringbuffer.append(c0);         stringbuffer.append(c1);     } }

java 计算 文件 md5的更多相关文章

  1. Java计算文件MD5值(支持大文件)

    import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.securit ...

  2. Java计算文件MD5值代码

    原文:http://www.open-open.com/code/view/1424930488031 import java.io.File; import java.io.FileInputStr ...

  3. 【转】Java计算文件的hash值

    原文地址:http://blog.csdn.net/qq_25646191/article/details/78863110 如何知道一个文件是否改变了呢?当然是用比较文件hash值的方法,文件has ...

  4. javascript 计算文件MD5 浏览器 javascript读取文件内容

    原则上说,浏览器是一个不安全的环境.早期浏览器的内容是静态的,用户上网冲浪,一般就是拉取网页查看.后来,随着互联网的发展,浏览器提供了非常丰富的用户交互功能.从早期的表单交互,到现在的websocke ...

  5. 计算文件MD5

    计算文件MD5 def get_md5(file_path): md5 = None if os.path.exists(file_path): f = open(file_path, 'rb') m ...

  6. Java计算文件的SHA码和MD5码

    可参考:http://blog.csdn.net/hudashi/article/details/8394158 /** * 计算文件的MD5码 * @param file * @return */ ...

  7. Java 获取 文件md5校验码

    讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...

  8. 用Qt编写的计算文件MD5值的Demo

    Dialog.ui <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0& ...

  9. python 计算文件md5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

随机推荐

  1. Redis启动警告错误解决

    启动错误 (1)WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxc ...

  2. android学习笔记47——读写SD卡上的文件

    读写SD卡上的文件 通过Context的openFileInput.openFileOutput来打开文件输入流.输出流时,程序打开的都是应用程序的数据文件夹里的文件,其存储的文件大小可能都比较有限- ...

  3. Linux下生成patch和打patch

    转自:http://blog.csdn.net/dl0914791011/article/details/17299103 通过diff工具生成补丁, patch工具打上补丁. 在使用diff之前, ...

  4. C#如何使用HttpWebRequest、HttpWebResponse模拟浏览器抓取网页内容

    public string GetHtml(string url, Encoding ed) { string Html = string.Empty;//初始化新的webRequst HttpWeb ...

  5. 树莓派用USB蓝牙适配器连接蓝牙设备

    下面分享如何配置蓝牙设备.1.连接蓝牙适配到Rpi板子usb上,安装相关蓝牙服务器和驱动 lsusb 查看设备是不是被发现 pi @RaspberryPi ~ $ lsusb Bus 001 Devi ...

  6. python 正则表达式 demo

    1.匹配大小写和数字,并且大小写数字均要有,且字符串长度为6~20位 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d]{6,20}$ import repattern ...

  7. git相关网页

    git.apache2.gerrit安装 1.http://blog.csdn.net/benkaoya/article/details/8680886 2.http://fatalove.iteye ...

  8. 学习git遇到的一些简单错误

    From:http://stackoverflow.com/questions/7574459/prompted-for-password-on-git-pull-origin-branch [roo ...

  9. php 获取时间今天明天昨天时间戳

    <?php echo "今天:".date("Y-m-d")."<br>";      echo "昨天:&qu ...

  10. JAVA如何将PDF转换SWF格式的FLASH

    1. 需要用到的工具 SWFTools 下载地址 http://www.swftools.org/download.html,下载完成以后,直接安装就行  2.下面就是重点喽,详见Java代码解析 附 ...