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