當前位置:
首頁 >
用JAVA获取文件的MD5哈希码
發布時間:2024/1/1
32
豆豆
生活随笔
收集整理的這篇文章主要介紹了
用JAVA获取文件的MD5哈希码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
獲取文件的哈希碼是一項常見的編程任務。MD5 是一種非常流行和常用的哈希算法。使用 Java 可以輕松獲取文件的 MD5 哈希碼,如下面的代碼所示:
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.security.MessageDigest;public class MD5file {public static String md5OfFile(File file) throws Exception {MessageDigest md = MessageDigest.getInstance("MD5");FileInputStream fs = new FileInputStream(file);BufferedInputStream bs = new BufferedInputStream(fs);byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = bs.read(buffer, 0, buffer.length)) != -1) {md.update(buffer, 0, bytesRead);}byte[] digest = md.digest();StringBuilder sb = new StringBuilder();for (byte bite : digest) {sb.append(String.format("%02x", bite & 0xff));}return sb.toString();}public static void main(String[] args) {File md5file = new File("f:\\Fedora-KDE-Live-x86_64-34-1.2.iso");try {String out = md5OfFile(md5file);System.out.println(out);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}上面的代碼做了幾件事:
- 創建一個MessageDigest最終會創建 MD5 哈希碼的對象
- 使用FileInputStream和BufferedInputStream緩沖來自文件的輸入
- 每讀取 1024 個字節更新MessageDigest對象update()
- 使用digest()方法返回文件的MD5哈希碼
- 將此 MD5 哈希碼轉換為十六進制格式
總結
以上是生活随笔為你收集整理的用JAVA获取文件的MD5哈希码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曲面之美:三星 S6 Edge+
- 下一篇: 奥比中光Astra Pro Demo示例