详细介绍C#之文件校验工具的开发及问题

2019-12-26 13:15:18王旭

目前校验文件使用最多的是MD值和SHA值,不外乎有些使用CRC,前段时间微软发布了VisualStudio正式版,win镜像,微软官方给出的校验方式都是校验文件的SHA值。下面详细介绍C#之文件校验工具的开发及问题,需要的朋友可以参考下

.加密算法的熟悉

目前校验文件使用最多的是MD值和SHA值,不外乎有些使用CRC,前段时间微软发布了VisualStudio正式版,win镜像,微软官方给出的校验方式都是校验文件的SHA值。

C#进行MD加密与SHA加密的实现总结在这里

.文件的加密计算

知道了如何进行普通字符串的加密还不够,我们要校验的文件的MD值或SHA值,接下来熟悉如何获取文件的MD值和SHA值

获取文件的MD值

 

 
  1. public static string GetFileMD(string filePath)  { 
  2. MDCryptoServiceProvider md = new MDCryptoServiceProvider();  FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); 
  3. byte[] result = md.ComputeHash(fs);  md.Clear(); 
  4. StringBuilder sb = new StringBuilder();  for (int i = ; i < result.Length; i++) 
  5. {  sb.Append(result[i].ToString("X")); 
  6. }  return sb.ToString(); 

获取文件的SHA值

 

 
  1. public static string GetFileSHA(string filePath)  { 
  2. SHA sha = new SHACryptoServiceProvider();  FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);