Java读取文件MD5的两种方案
来源:互联网 发布:seo教程视频 编辑:程序博客网 时间:2024/05/22 03:37
转载来源http://blog.csdn.net/wangqiuyun/article/details/22941433
最近要弄一下Java读取文件MD5,注意这里是小文件,网上找了一下,有两种解决方案,一种是用MessageDigest来实现,另种是用org.apache.commons.codec.digest来实现,代码如下:
- package cdm;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.math.BigInteger;
- import java.nio.MappedByteBuffer;
- import java.nio.channels.FileChannel;
- import java.security.MessageDigest;
- import org.apache.commons.codec.digest.*;
- import org.apache.commons.io.IOUtils;
- public class testMD5 {
- public static String getMd5ByFile(File file) throws FileNotFoundException {
- String value = null;
- FileInputStream in = new FileInputStream(file);
- try {
- MappedByteBuffer byteBuffer = in.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, file.length());
- MessageDigest md5 = MessageDigest.getInstance("MD5");
- md5.update(byteBuffer);
- BigInteger bi = new BigInteger(1, md5.digest());
- value = bi.toString(16);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if(null != in) {
- try {
- in.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return value;
- }
- public static void main(String[] args) throws IOException {
- String path="E:\\commons-codec-1.9-bin.zip";
- String v = getMd5ByFile(new File(path));
- System.out.println("MD5:"+v.toUpperCase());
- FileInputStream fis= new FileInputStream(path);
- String md5 = DigestUtils.md5Hex(IOUtils.toByteArray(fis));
- IOUtils.closeQuietly(fis);
- System.out.println("MD5:"+md5);
- //System.out.println("MD5:"+DigestUtils.md5Hex("WANGQIUYUN"));
- }
- }
运行:
结果在官网提供的MD5一致。
附commons-codec-1.9.jar下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi
如果要处理过G的文件,请参照:http://www.cnblogs.com/yaowukonga/p/3523668.html
阅读全文
0 0
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- Java读取文件MD5的两种方案
- java读取大文件的MD5
- JAVA MD5加密的两种方法
- JAVA读取XML文件的两种方法
- java读取xml文件的两种方式
- java读取XML文件的两种方式
- Java 读取TXT文件的两种方式
- java读取properties文件的两种方式
- Java中读取properties文件的两种方式
- java 读取资源文件两种方法
- java -- java读取文件md5工具方法
- java 读取文件 两例
- 8个经过证实的方法:提高机器学习模型的准确率
- STM32F103的普通定时器中断问题,存在开机后初始化,一打开允许中断,定时器立刻进入中断函数一次
- 字符串的排列_牛客网
- Linux环境自动生成OGG监控脚本和snmp oids
- 我的第一个Java程序
- Java读取文件MD5的两种方案
- swift中代码生成纯色图片
- Android Bitmap Drawable byte[] InputStream 相互转换方法
- 如何让<input type="file">只显示按钮 不要显示文本路径?
- LeetCode
- springMVC 的工作原理和机制
- 学习笔记——JAVA设计模式<20>状态模式
- PHP MySQL入门
- JAVA虚拟机(JVM)——虚拟机字节码执行引擎(一)