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

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

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

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

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

textual
Листинг программы
public class Md5Hash
    {
        public static Process[] procs;
        public static string source = "dsetup.dll";
        public static void Md5Protect()
        {
            using (MD5 md5Hash = MD5.Create())
            {
                string hash = GetMd5Hash(md5Hash, source);
                string has2 = ("61af51bddf6fee4dd80920a4466811be");
                bool hash3 = VerifyMd5Hash(md5Hash, source, has2);
                if (VerifyMd5Hash(md5Hash, source, has2))
                {
                      // MessageBox.Show("Совпадает.");
                }
                else
                {
                    MessageBox.Show("Клиент повреждён, проведите полную проверку апдейтером.");
                    
                    Application.Exit();
                }
            }
        }
        static string GetMd5Hash(MD5 md5Hash, string input)
        {
            FileStream file = new FileStream(source, FileMode.Open);
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] retVal = md5.ComputeHash(file);
            file.Close();
 
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < retVal.Length; i++)
            {
                sb.Append(retVal[i].ToString("x2"));
            }
            return sb.ToString();
        }
 
 
        static bool VerifyMd5Hash(MD5 md5Hash, string input, string hash)
        {
 
            string hashOfInput = GetMd5Hash(md5Hash, input);
 
 
            StringComparer comparer = StringComparer.OrdinalIgnoreCase;
 
            if (0 == comparer.Compare(hashOfInput, hash))
            {
                return true;
            }
            else
            {
                return false;
            }
 
        }
    }

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


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

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

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