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

2019-12-26 13:15:18王旭
  • {  SHA sha = new SHACryptoServiceProvider(); 
  • return GetFileHash(filePath, sha);  } 
  •   public static string GetFileSHA(string filePath) 
  • {  SHA sha = SHA.Create(); 
  • return GetFileHash(filePath, sha);  } 
  •   public static string GetFileSHA(string filePath) 
  • {  SHA sha = SHA.Create(); 
  • return GetFileHash(filePath, sha);  } 
  •   public static string GetFileSHA(string filePath) 
  • {  SHA sha = SHA.Create(); 
  • return GetFileHash(filePath, sha);  } 
  • .完成后测试与分析

    代码完成之后便是测试,在网上找一个文件校验工具(使用的软媒魔方里的校验工具),进行比对,看自己的校验工具是否与软媒魔方的校验工具的校验结果是否一致,经校验,没有错误,最初测试的小文件,后来下载了一个win系统,使用自己的校验工具,校验是否和微软官方给出的SHA值一致时,小工具直接卡死了,过了好长时间才出来结果,这说明这个小工具还待优化,尤其是处理大文件。

    在网上查找资料,看到有这样的实现思路,将文件在内存中的位置分段,比如说分成段,分个线程同时开始计算,最后将个计算值再经过处理得到整个文件的SHA值或MD值。然而愚钝,不知道该如何实现,望大神看到之后能给予一些指导,万分感谢。

    以上介绍就是本文的全部内容,希望大家喜欢。