天道酬勤

博观而约取,厚积而薄发!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c# MD5 校验文件

Posted on 2010-07-15 11:16  Happy Coding  阅读(953)  评论(0编辑  收藏  举报

代码
private string GetMd5Hash(string pathName)
{
string strResult = "";
string strHashData = "";
byte[] arrbytHashValue;

System.IO.FileStream oFileStream
= null;

System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher
=
new System.Security.Cryptography.MD5CryptoServiceProvider();

try
{
oFileStream
= new System.IO.FileStream(pathName, System.IO.FileMode.Open,
System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);

arrbytHashValue
= oMD5Hasher.ComputeHash(oFileStream); //计算指定Stream 对象的哈希值

oFileStream.Close();

//由以连字符分隔的十六进制对构成的String,其中每一对表示value 中对应的元素;例如“F-2C-4A”

strHashData
= System.BitConverter.ToString(arrbytHashValue);

//替换-
strHashData = strHashData.Replace("-", "");

strResult
= strHashData;
}

catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
return strResult;
}