.NET 4.x Выполнить поиск файла в определённой дериктории по его MD5 сумме - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте: как на си шарпе выполнить поиск файла в определённой дериктории по его мд 5 сумме? Например: Есть папка K:\qqqq программа в этой папке ищет файл с такой мд5 суммой D41D8CD98F0B24E980998ECF8427E если файл есть ,то прога показывает в виде сообщения что он есть,если нет то пишет что его нет, зарание спс ,весь гугл облазил нечё нет ((((

Решение задачи: «.NET 4.x Выполнить поиск файла в определённой дериктории по его MD5 сумме»

textual
Листинг программы
using System;
using System.IO;
using System.Security.Cryptography;
namespace CA_3
{
    class Program
    {           
        public static string ComputeMD5Checksum(string path)
        {
           FileStream fs = File.OpenRead(path);
           MD5 md5 = new MD5CryptoServiceProvider();
           byte[] fileData = new byte[fs.Length];
           fs.Read(fileData, 0, (int)fs.Length);
           byte[] checkSum = md5.ComputeHash(fileData);
           return BitConverter.ToString(checkSum).Replace("-", String.Empty);
            
        }
        public static void Main(string[] args)
        {
            
            string folderPath = "D:\\Folder"; //папка, в которой надо искать
            string filePath = "D:\\Folder\\Text.txt" //Файл с хэшами
            string md5Hash;//хэш, который надо найти
            StreamReader reader = new StreamReader(filePath);
            DirectoryInfo dir = new DirectoryInfo(folderPath);
            while (!reader.EndOfStream) 
            {
                md5Hash = reader.ReadLine();
                bool find = false;
                foreach (FileInfo file in dir.GetFiles())
                {
                    if (ComputeMD5Checksum(file.FullName) == md5Hash)
                    {
                    Console.WriteLine("Файл {0} имеет искомый хэш {1}", file.FullName, md5Hash);    
                    find = true;                    
                    }
                }
                if (!find)
                    Console.WriteLine("Файл с хешем {0} не найден", md5Hash);               
            }
            reader.Close();
            Console.ReadKey(true);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы