HashAlgorithm 文件比较
- 简 介
- 下 载
- 留 言
- 说 明
在用C#对文件进行copy操作的时候,为了保险起见,我们应比较一下copy后的内容是否与原内容完全一致。如果是比较文件所有内容,那就有点out啦。现在我们就用签名方式来检查一下吧。
一、HashAlgorithm类
HashAlgorithm类提供了两种Hash算法,可以用来验证文件是否被修改过。算法包括SHA1,SHA256,SHA384,SHA512和MD5。
二、给某个文件用MD5方式签名
public static string GetSignature(string strFileName) { try { if (!File.Exists(strFileName)) return string.Empty; //声明HashAlgorithm对象,MD5可以改为SHA1,SHA512等 using(HashAlgorithm hash = HashAlgorithm.Create("MD5")) { //开启档案 using (Stream ms = new FileStream(strFileName, FileMode.Open)) { //产生加密的密码 byte[] myHash = hash.ComputeHash(ms); //返回字符串 return BitConverter.ToString(myHash); } } } catch (System.Exception ex) { //WriteSystemMessage(ex.Message); } return string.Empty; }
三、对字符串加密
HashAlgorithm ha = HashAlgorithm.Create("MD5"); byte[] byData = Encoding.Default.GetBytes(strTest); byte[] myHash = ha.ComputeHash(byData); return BitConverter.ToString(myHash);