用MD5比较两文件是否相等

public static bool CompareFile(string strSource, string strTarget)
{
using (HashAlgorithm hash = HashAlgorithm.Create())
{
using (FileStream file1 = new FileStream(strSource, FileMode.Open), file2 = new FileStream(strTarget, FileMode.Open))
{
using (MD5 md5_1 = new MD5CryptoServiceProvider(), md5_2 = new MD5CryptoServiceProvider())
{
byte[] hashByte1 = md5_1.ComputeHash(file1);
byte[] haahByte2 = md5_2.ComputeHash(file2);
string str1 = BitConverter.ToString(hashByte1);
string str2 = BitConverter.ToString(haahByte2);
return (str1 == str2);
}
}
}
}

时间: 2024-10-07 19:56:28

用MD5比较两文件是否相等的相关文章

利用python找出两文件夹里相同的文件并保存在新的文件夹下(分三种情况)

原文件夹A,B,新文件夹C,下图中的情况以图片为例 A:00001.jpg  00002.jpg   00003.jpg  00147.jpg B : 00001.jpg  000000002.jpg   00147.json 第一种情况:找出两文件夹下相同内容的文件,保存并输出到文件夹C 思路:判断内容是否一致,因此需要读取整个文件,判断两者是否一样 由于文件内容错综复杂,而其md5是唯一的,如果两者内容一致,则两者的md5值应该为一样.由于图片是二进制存储,在读取时采用'rb'.这里是对文件

读取两文件,不同的内容存入另一个文件中

<?php /** * 从两个.csv 文件中读出数据 * 比较这两个文件不同的数据,并存入.csv 文件中 */ class Readfiledata { private function __construct() { } /** * 读文件并获取数据 */ private static function getdata($file) { $handle = fopen ( $file, 'r' ); $orderform = array (); $i=0; while ( false !=

检测某一目录下md5相同的文件

import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.IOUtils; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator

根据jenkins更新Log检查文件更新并比较两文件内容

开发人员经常将一些接口的参数POST更改成get 进行测试,后面忘记后就直接提交代码,jenkins更新后出现各种问题,在代码构建过程中匹配下相关配置文件. 下面是根据jenkins更新Log检查文件更新并比较两文件内容 #!/bin/sh if grep "routes/web.php" /var/lib/jenkins/jobs/${JOB_NAME}/lastSuccessful/log > /dev/null 2>&1 then echo "Upd

[java]用md5来判断两个文件是否完全相同

1.前言 由于相比较两张图片是否是相同,如果通过像素点比较感觉速度比较慢,当很多图片进行比较时,效率就低很多了.由于每个文件md5基本上是唯一的,所用用获取文件的md5来判断是否相同文件. 2.代码如下: import java.io.FileInputStream; import java.io.IOException; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.IOUtil

Java实现MD5加密和文件校验

MD5简介: MD5的全称:Message-Digest Algorithm 5(信息-摘要算法5) MD5的加密方式是一种哈希加密.一些主流的编程语言都已经实现了MD5的加密,所以如果你的程序或是系统涉及到在多种语言之间的校验,那么MD5可以是备选之一.不过因为MD5是采用哈希函数来进行的加密,所以它无关密钥,也就是说在确定了明文的情况下,MD5就可以加密.不过MD5是不可逆的,只能加密,不能解密. MD5加密字符串: public class Md5Util { // 标准的构造函数,调用m

linux 通过md5查找重复文件

代码如下: md5sum *|sort |uniq -w32 -D|awk -F ' ' '{print $2}' uniq 部分参数 -c #在每行前显示该行重复次数. -d #只输出重复的行. -D #只输出重复的行,有几行输出几行. -f #-f 忽略的段数,-f 1 忽略第一段. -i #不区分大小写. -w #忽略第n个字符以后的内容 . -s #-s 5忽略后面5个字符 md5sum * 先查看所有文件的md5值,重复的文件的md5值相同. uniq  处理时是处理相邻两行,所以需要

Linux中对两文件处理

介绍三个命令 1.{sort}   可以对文件中的数据进行排序,并将结果显示在标准输出上 2.{uniq}   可以将重复的行从输出中删除,只留下唯一样本 3.{diff}   逐行对比两个文件,列出不同之处. 当我们出来文件时,通常会碰到难以处理的文件,比如说对比两个文件进行比较,找出不同之处 三要素:sort我排序 uniq我去重 diff我比较  diff3(对三个文件进行比较) sort filename uniq filename diff filename  -y 并排格式输出. d

遍历目录删除指定MD5值的文件

工作需要实现一个查找出指定目录下md5值与excel表格中md5值相同的文件然后删掉的功能.我是这样做的:首先遍历指定目录,计算该目录下所有文件的md5值,以文件路径为key,md5值为value保存到一个字典中:然后读取excel表格中的md5,查看字典中的value是否包含该md5,如果包含,则删除对应文件.以下是具体实现代码: 1 #coding:utf-8 2 3 from hashlib import md5 4 import os,time,sys 5 import xlrd 6 i