java计算文件32位md5值

Posted For The Glory

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

 

以上是关于java计算文件32位md5值的主要内容,如果未能解决你的问题,请参考以下文章

linux怎么查看文件md5值

Java实现MD5(32/16位)大小写加密

linux下md5sum用法 (查看文件或字符串的md5值)

Java计算文件MD5值代码

PHP返回32位与16位的md5加密值

Java 实现32位MD5加密