.NET 4.x Проверка целостности файла (Md5) - C#

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

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

Всем доброго времени суток. Собственно в C# Я еще не селен,только начинающий... Пишу программу одну,мне нужно чтобы была проверка файла на целостность по md5 и чтобы он брал сам хеш сумму md5 с сайта(фтп) и сверял ее с хешем от файла,возможно такое реализовать? Юзал гугл нашел ну это не то,что мне нужно было,искал тут тоже такой же результат... Надеюсь вы мне поможете.

Решение задачи: «.NET 4.x Проверка целостности файла (Md5)»

textual
Листинг программы
  1. public class Md5Hash
  2.     {
  3.         public static Process[] procs;
  4.         public static string source = "dsetup.dll";
  5.         public static void Md5Protect()
  6.         {
  7.             using (MD5 md5Hash = MD5.Create())
  8.             {
  9.                 string hash = GetMd5Hash(md5Hash, source);
  10.                 string has2 = ("61af51bddf6fee4dd80920a4466811be");
  11.                 bool hash3 = VerifyMd5Hash(md5Hash, source, has2);
  12.                 if (VerifyMd5Hash(md5Hash, source, has2))
  13.                 {
  14.                       // MessageBox.Show("Совпадает.");
  15.                 }
  16.                 else
  17.                 {
  18.                     MessageBox.Show("Клиент повреждён, проведите полную проверку апдейтером.");
  19.                    
  20.                     Application.Exit();
  21.                 }
  22.             }
  23.         }
  24.         static string GetMd5Hash(MD5 md5Hash, string input)
  25.         {
  26.             FileStream file = new FileStream(source, FileMode.Open);
  27.             MD5 md5 = new MD5CryptoServiceProvider();
  28.             byte[] retVal = md5.ComputeHash(file);
  29.             file.Close();
  30.  
  31.             StringBuilder sb = new StringBuilder();
  32.             for (int i = 0; i < retVal.Length; i++)
  33.             {
  34.                 sb.Append(retVal[i].ToString("x2"));
  35.             }
  36.             return sb.ToString();
  37.         }
  38.  
  39.  
  40.         static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash)
  41.         {
  42.  
  43.             string hashOfInput = GetMd5Hash(md5Hash, input);
  44.  
  45.  
  46.             StringComparer comparer = StringComparer.OrdinalIgnoreCase;
  47.  
  48.             if (0 == comparer.Compare(hashOfInput, hash))
  49.             {
  50.                 return true;
  51.             }
  52.             else
  53.             {
  54.                 return false;
  55.             }
  56.  
  57.         }
  58.     }

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


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

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

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы