maven:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.huawei</groupId>
<artifactId>getfilemd5</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
</dependencies>
</project>
package com.huawei.md5;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.security.MessageDigest;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
public class GetFileMd5 {
public static String getMD5(File file) {
FileInputStream fileInputStream = null;
try {
MessageDigest MD5 = MessageDigest.getInstance("MD5");
fileInputStream = new FileInputStream(file);
byte[] buffer = new byte[8192];
int length;
while ((length = fileInputStream.read(buffer)) != -1) {
MD5.update(buffer, 0, length);
return new String(Hex.encodeHex(MD5.digest()));
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
try {
if (fileInputStream != null){
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
* 求一个字符串的md5值
* @param target 字符串
* @return md5 value
public static String MD5(String target) {
return DigestUtils.md5Hex(target);
public static void main(String[] args) {
long beginTime = System.currentTimeMillis();
String filepath = "/home/adst/zhailt/data/pb_"+args[0];
File file = new File(filepath);
String md5 = getMD5(file);
try {
FileWriter writer;
writer = new FileWriter("/data/mfs6/ad_stat_feat_hourly/statical.pb.b64.md5");
writer.write("");
writer.write(md5 + " statical.pb.b64");
writer.flush();
writer.close();
}catch (IOException e){
e.printStackTrace();
maven:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="...
md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。
md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。
语法格式:md5sum [参数] [文件]
常用参数:
以二进制模式读取文件
以文本模式读入文件内容
根据已生成的md5值,对现存文件进行校验
检查输入的md5信息有没有非法行,若有则输出相应信息
–status
校验完成后,不生成错误或正确的提示信息,可以通过命令的返回值来判断
生成文件md5
跟Linux有过接触的人,
基本都熟悉常用的linux命令, 但md5sum这命令并不是所有的人都用过。 其实, md5sum就是对文件/字符串求md5值的命令, 很简单。
在我们的java部署tomcat环境中,有时候并不能知道服务是否好坏,比如内存溢出了,或者服务卡了很久没反应了,那么我们可以通过md5sum 来执行tomcat的日志文件,写一个定时器,定时几分钟执行一下,比较该次值和上
java代码中实现,apache的工具类,封装了文件、字符串的sha和MD5等。
public static String md5HashCode(InputStream fis) {
try {
if(fis == null){
return null;
md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。
md5校验,有很小的概率不同的文件生成的md5可能相同。比md5更安全的校验算法还有SHA*系列的。
在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5 一致的话,则表示文件传输无异常。否则说明文件在传输过程...
"md5sum"和"md5"都是用于计算文件的MD5校验和的工具或算法。它们都可以生成一个唯一的哈希值来表示文件的内容,但在具体的使用方式上有所不同。
- "md5sum"是一个命令行工具,用于计算文件的MD5校验和。它通常在Linux和类Unix系统上使用。通过执行"md5sum 文件路径"命令,可以获取文件的MD5校验和值。
- "md5"是MD5算法的名称,在编程中常用于计算文件或数据的MD5哈希值。许多编程语言都提供了计算MD5哈希值的库或函数,可以直接调用这些库或函数来计算文件的MD5校验和。
总结来说,"md5sum"是一个命令行工具,而"md5"是一种算法。它们都可以用于计算文件的MD5校验和,但具体的使用方式会有所不同。