本文介绍一个C#函数,可以实现计算文件的MD5值,可以用于文件传输后进行有效性校验。
我们知道可以通过将一个字符串进行散列(Hash)运算得到一个32位字符串,将其作为密码来保存是最常见的MD5应用。不知道大家有没有注意到,在网上一些下载文件的地方,旁边注明了MD5校验值,也是一个32位十六制字符串。这个字符串怎么用呢?这就是文件的MD5加密。
当我们将一个文件从网上下载之后,可以计算一下文件的MD5值,然后和网上公布的MD5值进行对比。结果一致,表示文件没有问题,如果结果不一致,有两种可能,一是文件损坏了,无法使用;还有一种情况,那就是文件被人替换了。在下载exe文件时尤其应该注意,如果下载了一个被人替换过后的文件,那是相当危险的事,可能这个文件就被人植入了木马。
那么应该怎么来计算文件的MD5值呢?洪哥给出了一段C#的源代码。有兴趣的朋友参考参考。注意,下面这段代码要包含System.IO命名空间。
代码如下:
///<summary>
///计算文件的MD5校验
///</summary>
///<paramname=”fileName”></param>
///<returns></returns>
publicstaticstringGetMD5HashFromFile(stringfileName)
{
try
{
FileStreamfile=newFileStream(fileName,FileMode.Open);
System.Security.Cryptography.MD5md5=newSystem.Security.Cryptography.MD5CryptoServiceProvider();
byte[]retVal=md5.ComputeHash(file);
file.Close();
StringBuildersb=newStringBuilder();
for(inti=0;i<retVal.Length;i++)
{
sb.Append(retVal[i].ToString(“x2”));
}
returnsb.ToString();
}
catch(Exceptionex)
{
thrownewException(“GetMD5HashFromFile()fail,error:”+ex.Message);
}
}
大家可以看到,上面C#代码主要创建了System.Security.Cryptography.MD5类,使用了它的ComputeHash方法。然后将字节数组转换成16进制字符串返回。
大家可以通过上面的主要函数,自己用C#写一个计算文件MD值的小程序了。
关于C#计算文件MD5值的代码,本文就介绍这么多,希望对您有所帮助,谢谢!
您可能感兴趣的文章:在C#中生成与PHP一样的MD5HashCode的方法c#多种加解密示例(md5加密解密)c#实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码基于C#对用户密码使用MD5加密与解密C#生成MD5的函数代码phpmd5下16位和32位的实现代码php的加密函数md5,crypt,base64_encode等使用介绍PHP中MD5函数使用实例代码C#与PHP的md5计算结果不同的解决方法
详解C++中的函数调用和下标以及成员访问运算符的重载
简单了解C++语言中的二元运算符和赋值运算符
上述就是C#学习教程:C#读取文件MD5值的实现代码分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/905621.html