.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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д