java代码如何获取一个文件的MD5哈希值呢?
下文笔者讲述计算一个文件的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(); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。