我有一个winforms应用程序,我可以选择上传.csv文件。我正在计算上传的.csv文件的文件哈希值。如果文件的内容已更改,则会显示一个消息框,指出文件的数据已更改。
我知道如何计算文件哈希值,但是如何存储同一文件的旧文件哈希值,然后将其与同一文件的新文件哈希值进行比较。
static bool FileHashesAreEqual(FileInfo fileName)
{
byte[] firstHash = MD5.Create().ComputeHash(firstName.OpenRead());
var oldFileHash = firstHash;
for (int i = 0; i < oldFileHash.Length; i++)
{
// Unable to figure out how to compare newFileHash and the oldFileHash
//if (oldFileHash[i] != newFileHash[i])
return false;
}
return true;
}
非常感谢任何有关如何做到这一点的帮助。
答案 0 :(得分:0)
我得到了它的工作。感谢大家的想法和意见。
private bool FileHashesAreEqual(FileInfo fileName)
{
byte[] firstHash = MD5.Create().ComputeHash(fileName.OpenRead());
if (!this.fileHashDictionary.ContainsKey(fileName.Name))
{
this.fileHashDictionary.Add(fileName.Name, firstHash.ToString());
}
else
{
if (this.fileHashDictionary.TryGetValue(fileName.Name, out var value))
{
if (value != null)
{
for (var index = 0; index < value.Length; index++)
{
if (value[index] != firstHash[index])
{
return false;
}
}
}
}
}
return true;
}