有没有办法计算只读文件的校验和?
我见过的唯一例子就是使用这样的算法
public string GetChecksum()
{
FileStream file = new FileStream(_filePath, FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
foreach (byte t in retVal)
{
sb.Append(retVal[1].ToString("x2"));
}
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
您可以打开文件,即使它是只读的.
如果不打开文件就无法生成校验和,因为如果不打开文件就无法读取文件.
您应该传递FileAccess.Read以只读方式打开它.
此外,您应该使用SHA512而不是MD5生成校验和.
| 归档时间: |
|
| 查看次数: |
2164 次 |
| 最近记录: |