【发布时间】:2012-06-28 13:59:43
【问题描述】:
我无法复制文件,然后验证文件的完整性。我已经尝试了所有我能想到的文件复制方法(File.Copy、filestreams、尝试进行二进制复制),但是复制后文件哈希总是不同的。我一直在四处寻找,我注意到很多人说从网络共享复制文件会导致这种情况,但我从共享中获得的结果与直接从硬盘驱动器中获得的结果相同。
//File hashing method:
private byte[] hashFile(string file)
{
try
{
byte[] sourceFile = ASCIIEncoding.ASCII.GetBytes(file);
byte[] hash = new MD5CryptoServiceProvider().ComputeHash(sourceFile);
return hash;
...
使用这种方法,原始文件和复制文件在每次运行时总是(单独)产生相同的哈希值,但两个哈希值不相同。有谁知道在不更改文件哈希的情况下复制文件的方法?
【问题讨论】:
-
你检查过ByteArrays有什么不同吗?小/大字节序问题?
-
您似乎在对文件名进行哈希处理,而不是对文件的内容进行哈希处理。