Java,如何获取文件的MD5值
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();
}
}
}
Java,如何获取文件的MD5值的更多相关文章
- JAVA 获取文件的MD5值大小以及常见的工具类
/** * 获取文件的MD5值大小 * * @param file * 文件对象 * @return */ public static String getMD5(File file) { FileI ...
- swift 获取文件的Md5值
获取文件的Md5值的方法如下 func md5File(url: URL) -> String? { let bufferSize = 1024 * 1024 do { //打开文件 let f ...
- iOS开发之获取文件的md5值
我们经常有下载文件上的需求 为了安全我们经常需要对文件进行md5校验 那我就来给大家分享一个很方便的获取文件md5值得方法. 首先需要引用系统库文件 #include <CommonCrypto ...
- Android获取文件的MD5值
package my.bag; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; im ...
- 在浏览器端获取文件的MD5值
前几天接到一个奇怪的需求,要在web页面中计算文件的md5值,还好这个项目是只需兼容现代浏览器的,不然要坑死了. 其实对文件进行md5,对于后端来说是及其简单的.比如使用Node.js,只要下面几行代 ...
- java获取文件的md5值
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- ios获取文件的MD5值
一般我们在使用http或者socket上传或者下载文件的时候,经常会在完成之后经行一次MD5值得校验(尤其是在断点续传的时候用的更 多),校验MD5值是为了防止在传输的过程当中丢包或者数据包被篡改,在 ...
- java 中,如何获取文件的MD5值呢?如何比较两个文件是否完全相同呢?
/** * Get MD5 of one file:hex string,test OK! * * @param file * @return */ public static String getF ...
- 获取文件的MD5值,比较两个文件是否完全相同
代码: public class MD5Test { public static void main(String[] args) { String s1 = MD5Test.MD5Operation ...
随机推荐
- BZOJ 4824 [Cqoi2017]老C的键盘 ——树形DP
每一个限制条件相当于一条有向边, 忽略边的方向,就成了一道裸的树形DP题 同BZOJ3167 唯一的区别就是这个$O(n^3)$能过 #include <map> #include < ...
- [luoguP3960] 列队(动态开点线段树)
传送门 有splay的做法,有树状数组的做法... 最好理解的还是线段树的做法. 一开始我是这样想的,如果移动某一个人,只有当前行和最后一列会受到影响,感觉就像是个线段树,树状数组什么的. 然而接下来 ...
- 刷题总结——魔法森林(bzoj3669)
题目: Description 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M.初始时小E同 ...
- 【bzoj1483】[HNOI2009]梦幻布丁 set
[bzoj1483][HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2 ...
- Vue && Angular 双向绑定检测不到对象属性的添加和删除
由于ES5的限制 Vue && Angular 双向绑定检测不到对象属性的添加和删除 还有数组增加索引.这些改变不会触发change事件.Vue是因为实例化的时候已经把各个属性都s ...
- ndarray:一种多维数组对象
ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的.每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数组数据类型的对象). In ...
- ASP.NET里创建Microsoft Word文档
原文发布时间为:2008-08-03 -- 来源于本人的百度文章 [由搬家工具导入] 本文是应在ASP.NET里创建Microsoft Word文档之需而写的。这篇文章演示了在ASP.NET里怎么创建 ...
- Mac 10.9 安装及使用 phoneGap
公司网速是个坑啊 绝对掉进去就起不来的那种..... 按官网的说法: 1. 下载并安装Node.js 2. sudo npm install -g phonegap 官网的安装步骤到此为止....坑 ...
- jQuery on() 和 live
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- docker使用 命令
Dockerfile FROM golang:alpine3. AS build-stage WORKDIR /go/src/mypro.exportReport COPY . . RUN go bu ...