MessageDigest类封装得很不错,简单易用

不多说,直接上代码

import java.io.FileInputStream;
import java.security.MessageDigest;
import java.util.Scanner;

public class MD5Test {
public static void main(String[] args) {
System.out.print("输入文件名:");
Scanner inputFromConsole = new Scanner(System.in);
String filename = inputFromConsole.nextLine();
try (FileInputStream inputFromFile = new FileInputStream(filename)) {
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] buffer = new byte[10 * 1024 * 1024];
int byteCount;
while ((byteCount = inputFromFile.read(buffer)) != -1) {
md5.update(buffer, 0, byteCount);
}
StringBuilder result = new StringBuilder();
byte[] digested = md5.digest();
for (byte e : digested) {
String hexStr = Integer.toHexString(e & 255);
if (hexStr.length() == 1)
result.append('0');
result.append(hexStr);
}
System.out.println(result);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

最新文章

  1. ReLu(Rectified Linear Units)激活函数
  2. 一:解决VirtualBox只能安装32位系统的问题
  3. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
  4. [整理归档]30 common tasks you perform using the GUI that you can do faster in Windows PowerShell
  5. Codeforces Round #243 (Div. 2) C. Sereja and Swaps(优先队列 暴力)
  6. csdn博客刷粉代码
  7. js的兼容性问题
  8. python全栈开发-Day6 字符编码
  9. [ Java面试题 ] 集合篇
  10. 在线预览-Java 使用 Print2Flash 实现Office文档在线阅读
  11. 使用Python+turtle绘制动画重现龟兔赛跑现场
  12. 16. 3Sum Closest (JAVA)
  13. Codeforces Round #517 体验记
  14. [转]svn检出的时候报 Unable to connect to a repository at URL错误
  15. asp.net 项目目录说明
  16. hdu 1226 超级密码
  17. osgEarth使用没有DX的Triton库Triton-MT-DLL-NODX.lib
  18. 老爷机iphone4s 9.2.1降级6.1.3
  19. java String详解
  20. javascript node节点学习

热门文章

  1. nginx的详解(三)
  2. 关于IOS项目QQ空间授权提示安装最新版本的QQ的解决方法!
  3. 【Luogu】P3628特别行动队(斜率优化DP)
  4. 蛋疼的SVG外部引用方式
  5. [BZOJ4989] [Usaco2017 Feb]Why Did the Cow Cross the Road(树状数组)
  6. 常州模拟赛d2t1 小X的质数
  7. hdu5396 Expression
  8. mark一下。hadoop分布式系统搭建
  9. hdu 1166 树状数组(线段树)
  10. STL学习笔记(四) 迭代器