Ответ 1
Вот хорошая статья о том, как рассчитать и проверить контрольные суммы Blob MD5.
Я столкнулся с этим раньше, и я не знаю почему, но вы не можете просто сделать md5.computeHash(fileBytes)
.
Для Azure Blobs он использует следующий путь для получения хэша:
// Validate MD5 Value
var md5Check = System.Security.Cryptography.MD5.Create();
md5Check.TransformBlock(retrievedBuffer, 0, retrievedBuffer.Length, null, 0);
md5Check.TransformFinalBlock(new byte[0], 0, 0);
// Get Hash Value
byte[] hashBytes = md5Check.Hash;
string hashVal = Convert.ToBase64String(hashBytes);
и он работает...
И да, как уже упоминал Гуавар - хеш MD5 сохраняется как строка base64.