java计算文件32位md5值

 1 protected static String getFileMD5(String fileName)
 2     {
 3         File file = new File(fileName);
 4         if(!file.exists() || !file.isFile()){
 5             return "";
 6         }
 7
 8         byte[] buffer = new byte[2048];
 9         try {
10             MessageDigest digest = MessageDigest.getInstance("MD5");
11             FileInputStream in = new FileInputStream(file);
12             while(true){
13                 int len = in.read(buffer,0,2048);
14                 if(len != -1){
15                     digest.update(buffer, 0, len);
16                 }else{
17                     break;
18                 }
19             }
20             in.close();
21
22             byte[] md5Bytes  = digest.digest();
23             StringBuffer hexValue = new StringBuffer();
24             for (int i = 0; i < md5Bytes.length; i++) {
25                 int val = ((int) md5Bytes[i]) & 0xff;
26                 if (val < 16) {
27                     hexValue.append("0");
28                 }
29                 hexValue.append(Integer.toHexString(val));
30             }
31             return hexValue.toString();
32
33             //String hash = new BigInteger(1,digest.digest()).toString(16);
34             //return hash;
35
36         } catch (NoSuchAlgorithmException e) {
37             // TODO Auto-generated catch block
38             e.printStackTrace();
39             return "";
40         } catch (FileNotFoundException e) {
41             // TODO Auto-generated catch block
42             e.printStackTrace();
43             return "";
44         } catch (IOException e) {
45             // TODO Auto-generated catch block
46             e.printStackTrace();
47             return "";
48         }
49     }

how to use:

1 String file = "d://one.zip";
2 String md5 = getFileMD5(file);
时间: 2024-10-13 11:11:58

java计算文件32位md5值的相关文章

【转】Java计算文件的hash值

原文地址:http://blog.csdn.net/qq_25646191/article/details/78863110 如何知道一个文件是否改变了呢?当然是用比较文件hash值的方法,文件hash又叫文件签名,文件中哪怕一个bit位被改变了,文件hash就会不同. 比较常用的文件hash算法有MD5和SHA-1.我用的是MD5算法,java中,计算MD5可以用MessageDigest这个类. 下面是代码: [java] view plain copy package com.test;

dll文件32位64位检测工具以及Windows文件夹SysWow64的坑(很详细,还有自动动手编程探测dll)

阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的坑 Program Files (x86)与Program Files 32位程序真的需要访问System32吗 32位程序与64位程序的区别总结 参考资料 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program

通用32位MD5算法总结:MD5Util

1.小写: 比如 abcdef e80b5017098950fc58aad83c8c14978e public static String HEXAndMd5(String plainText) { try { MessageDigest md = MessageDigest.getInstance("MD5"); try { md.update(plainText.getBytes("UTF8")); } catch (UnsupportedEncodingExc

MD5加密 生成32位md5码

package net.joystart.common.util.security; import java.security.MessageDigest; /** * 加密算法工具类 * @author LDY20151214 * */ public class EncryptionUtil { /*** * MD5加密 生成32位md5码 * @param 待加密字符串 * @return 返回32位md5码 */ public static String md5(String inStr)

H5计算图片视频资源md5值(使用fileapi)

2017/10/28 发布 md5概念及作用: MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的"数字指纹".任何一个文件,无论是可执行程序.图像文件.临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变.因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被"篡改"过. 实际应用: 近期在开

快速遍历对比两个文件下的md5值

[[email protected] Activity]# find /opt/xyrpg/rpgserver_s1/XMLData/Activity/ -type f -exec md5sum {} \;|sed 's/rpgserver_s1/rpgserver_s2/'|md5sum -c /opt/xyrpg/rpgserver_s2/XMLData/Activity/ActivityCondition.xml: FAILED /opt/xyrpg/rpgserver_s2/XMLDat

16位的MD5加密和32位MD5加密的区别

16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16位MD5散列要比破解32位MD5散列还慢因为他多了一个步骤,就是使用32位加密后再把中间16位提取出来, 然后再进行对比而破解32位的则不需要,加密后直接对比就可以了 admin 的加密代码:16位加密:7a57a5a743894a0e32位加密:21232f297a57a5a743894a0e4a

32位MD5加密补齐丢失的0

/// <summary> /// 获取32位MD5加密字符串(已补完0) /// </summary> /// <param name="strWord"></param> /// <returns></returns> public static string GetMD5String(string strWord) { string strRes = string.Empty; MD5 md5 = MD5.C

C# 常用方法—— 32位MD5加密

其他常用方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html /// <summary> /// 32位MD5加密(小写) /// </summary> /// <param name="input">输入字段</param> /// <returns></returns> public string Encrypt(string str) { MD5Cryp