当前位置: 首页 > 编程笔记 >

C#读取文件MD5值的实现代码

柯阳曦
2023-03-14
本文向大家介绍C#读取文件MD5值的实现代码,包括了C#读取文件MD5值的实现代码的使用技巧和注意事项,需要的朋友参考一下

本文介绍一个C#函数,可以实现计算文件的MD5值,可以用于文件传输后进行有效性校验。

我们知道可以通过将一个字符串进行散列(Hash)运算得到一个32位字符串,将其作为密码来保存是最常见的MD5应用。不知道大家有没有注意到,在网上一些下载文件的地方,旁边注明了MD5校验值,也是一个32位十六制字符串。这个字符串怎么用呢?这就是文件的MD5加密

当我们将一个文件从网上下载之后 ,可以计算一下文件的MD5值,然后和网上公布的MD5值进行对比。结果一致,表示文件没有问题,如果结果不一致,有两种可能,一是文件损坏了,无法使用;还有一种情况,那就是文件被人替换了。在下载exe文件时尤其应该注意,如果下载了一个被人替换过后的文件,那是相当危险的事,可能这个文件就被人植入了木马。

那么应该怎么来计算文件的MD5值呢?洪哥给出了一段C#的源代码。有兴趣的朋友参考参考。注意,下面这段代码要包含System.IO命名空间。


/// <summary>

/// 计算文件的MD5校验

/// </summary>

/// <param name="fileName"></param>

/// <returns></returns>

public static string GetMD5HashFromFile(string fileName)

{

    try

    {

        FileStream file = new FileStream(fileName, FileMode.Open);

        System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.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();     }     catch (Exception ex)     {         throw new Exception("GetMD5HashFromFile() fail,error:" + ex.Message);     } }


大家可以看到,上面C#代码主要创建了System.Security.Cryptography.MD5类,使用了它的ComputeHash方法。然后将字节数组转换成16进制字符串返回。

大家可以通过上面的主要函数,自己用C#写一个计算文件MD值的小程序了。
       
关于C#计算文件MD5值的代码,本文就介绍这么多,希望对您有所帮助,谢谢!

 类似资料:
  • 本文向大家介绍Java文件读取写入后 md5值不变的实现方法,包括了Java文件读取写入后 md5值不变的实现方法的使用技巧和注意事项,需要的朋友参考一下 假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: 这样一来,使用 FileWrite 写入新文件时就能保

  • 本文向大家介绍php与c 实现按行读取文件实例代码,包括了php与c 实现按行读取文件实例代码的使用技巧和注意事项,需要的朋友参考一下 php与c 实现按行读取文件 前言 感觉很糟糕的一场电话一面竟然给了二面通知,好吧,给自己一个机会也给对方一次机会,题外话。海量数据处理经常涉及到hash将原来文件的每一行散列到子文件中,那如何按行读取文件呢,这里记录一下php和c的实现 很水的一篇,只是记录一下

  • 本文向大家介绍C#中读取App.config配置文件代码实例,包括了C#中读取App.config配置文件代码实例的使用技巧和注意事项,需要的朋友参考一下 App.config是C#开发WinForm程序的配置文件,开发Web程序的配置文件叫Web.config。本文介绍App.config的简介使用。 我们先来打开一个App.config文件,看看它的内容像什么样子。 从这段代码可以看出,App

  • 本文向大家介绍node.js实现逐行读取文件内容的代码,包括了node.js实现逐行读取文件内容的代码的使用技巧和注意事项,需要的朋友参考一下 在此之前先介绍一个逐行读取文件内容NPM:https://github.com/nickewing/line-reader,需要的朋友可以看看。 直接上代码:

  • 本文向大家介绍详解C#实现MD5加密的示例代码,包括了详解C#实现MD5加密的示例代码的使用技巧和注意事项,需要的朋友参考一下 C#实现MD5加密,具体如下: 方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security

  • 本文向大家介绍C#实现读取被进程占用的文件实现方法,包括了C#实现读取被进程占用的文件实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现读取被进程占用的文件实现方法。分享给大家供大家参考。具体实现方法如下: 文件“D:\Log\Cargoabc\logfilecargoabc.txt”正由另一进程使用,因此该进程无法访问该文件 logfilecargoabc.txt是一个日志