java代码如何获取一个文件的MD5哈希值呢?

重生 Java经验 发布时间:2023-12-24 11:16:58 阅读数:2607 1
下文笔者讲述计算一个文件的MD5值的方法及示例分享,如下所示

计算一个文件MD5值的实现思路

    1.导入java.io和java.security包
    2.使用MessageDigest.getInstance("MD5")
        获取MessageDigest对象
    3.使用FileInputStream读取文件数据
        更新MessageDigest对象状态
    
    4.使用md.digest()方法完成计算
        返回的是byte[]类型的哈希值。
    5.byte[]转换为16进制字符串
例:计算一个文件的MD5哈希值
import java.io.*;
import java.security.*;
 
public class MD5Utils {
    //定义计算文件的MD5值的方法,只需传入一个file对象即可
    public static String getMD5(File file) throws IOException, NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance("MD5");
        InputStream is = new FileInputStream(file);
        byte[] buffer = new byte[8192];
        int read = 0;
        try {
            while ((read = is.read(buffer)) > 0) {
                md.update(buffer, 0, read);
            }
        } finally {
            is.close();
        }
 
        byte[] md5 = md.digest();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < md5.length; i++) {
            sb.append(Integer.toString((md5[i] & 0xff) + 0x100, 16).substring(1));
        }
        return sb.toString();
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202312/17033878537563.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者