校验两个文件是否一样(MD5方式:windows,linux,自定义java代码三种方式)——亲测成功

1.MD5简述
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的(题外:那就可能会存在)。

2.校验方法
widow亲测成功(加空行,校验不同)
linux–亲测成功
java–亲测成功
2.1windows下
在cmd下进入 要查看的文件目录, 然后输入命令

certutil -hashfile  文件名称.文件类型 MD5

如

certutil -hashfile  webpro.war MD5

注意后面有个MD5,不然会生成一个其他的值。

2.2.linux下

md5sum 文件名

2.3自定义java法

package com.lifeng;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.math.BigInteger;
import java.security.MessageDigest;
/**
 * 获取文件的md5值,从而比对两个文件是否相等
* @Description: TODO
* @author lifeng
* @date 2016年3月1日 上午9:34:15 
* @version V1.0
 */
public class MD5 {
	public static String getFileMD5(String filePath) throws Exception{
		File file = new File(filePath);
		InputStream in = new FileInputStream(file);
		MessageDigest digest = MessageDigest.getInstance("MD5");  ;
		byte buffer[] = new byte[1024];
		int len;
		while((len = in.read(buffer))!=-1){
			digest.update(buffer, 0, len);
		}
		BigInteger bigInt = new BigInteger(1, digest.digest()); 
		return bigInt.toString(16);
	}
	
	public static void main(String[] args) throws Throwable{
		String f1 = getFileMD5("E://1.tmp");
		String f2 = getFileMD5("E://2.tmp");
		System.out.println(f1.equals(f2)+"=="+f1);
	}
}

2.4 校验软件(略)

参考:
windows下查看文件md5值
linux比较两个文件是否一样(linux命令md5sum使用方法)
shell脚本如何实现将两个war包进行对比
通过文件的md5码比对两个文件是否一样

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值