下载软件后为啥要验证md5?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载软件后为啥要验证md5?相关的知识,希望对你有一定的参考价值。

参考技术A 它的典型应用是对一段信息(message)产生信息摘要(message-digest),以防止被篡改。通俗地说MD5码就是个验证码,就像我们的个人身份证一样,每个人的都是不一样的。MD5码是每个文件的唯一校验码(MD5不区分大小写,但由于MD5码有128位之多,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的),凭借此特性常被用于密码的加密存储、数字签名及文件完整性验证等功能。通过MD5验证即可检查文件的正确性,例如可以校验出下载文件中是否被捆绑有其它第三方软件或木马、后门(若是校验结果不正确就说明原文件已被人擅自篡改)。本回答被提问者采纳

C#基础-MD5验证

一、前言

       MD5验证主要用于更新文件功能方面,服务器告知客户端要下载哪些更新文件并提供给客户端其MD5值,客户端从服务器将更新文件下载到本地并计算下载文件的MD5值,将本地接收的MD5值与服务器提供的MD5值进行比对,如果相同则说明下载的文件与服务器提供的文件是一致的,如果不相同则说明下载后文件可能有缺失,应丢弃或断点续传。

 

二、计算文件的MD5值

using System.Security.Cryptography;
using System.Text;

using(FileStream file = new FileStream(FilePath, System.IO.FileMode.Open))
{
       MD5 md5 = new MD5CryptoServiceProvider();
       byte[] YourFile = md5.ComputeHash(file);
       file.Close();
       StringBuilder FileMD5 = new StringBuilder();
       for (int i = 0; i < YourFile.Length; i++)
       {
          FileMD5.Append(YourFile[i].ToString("x2"));
       }
       FileMD5.ToString();
}

 

以上是关于下载软件后为啥要验证md5?的主要内容,如果未能解决你的问题,请参考以下文章

为啥下载的有些WIN7系统会公布MD5,SHA1,CRC32?

ubuntu系统中 怎么验证下载下来的系统md5

md5为啥不能解密?

MD5指纹(文件指纹验证)

想刷机但是每个rom都有啥MD5验证,请问是啥?怎么用?

Steam登录后为啥要验证安全令牌