我正在尝试获取存储在 Windows Azure Blob Store 中的文件的哈希值。
我希望然后将哈希与存储在本地计算机上的版本进行比较,看看是否有区别。
以下代码获取哈希。
_CloudBlobClient = SetupCloudBlobClient();
CloudBlobContainer cbContainer = _CloudBlobClient.GetContainerReference(sContainer);
CloudBlockBlob cbBlob = cbContainer.GetBlockBlobReference(sBlob);
BlobStream stream = cbBlob.OpenRead();
StringBuilder sb = new StringBuilder();
MD5 md5 = MD5CryptoServiceProvider.Create();
byte[] hash = md5.ComputeHash(stream);
foreach (byte b in hash)
sb.Append(b.ToString("x2"));
return sb.ToString();
问题是这对小文件很有效,但我正在处理大于 100MB 的文件,而对于这些文件,服务需要的时间太长,最终会超时。
我想知道这是否是正确的方法,或者是否有另一种方法来确定两个文件是否包含相同的数据,这对于大文件来说会更快。
谢谢,马特