На основании моего теста контрольные суммы просто совпадают.
Вот мой код:
public static void main(String[] args) throws Exception {
String connectStr = "DefaultEndpointsProtocol=https;AccountName=storagetest789;AccountKey=G3************1w==;EndpointSuffix=core.windows.net";
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(connectStr).buildClient();
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient("pub");
BlobClient blobClient = containerClient.getBlobClient("azure-cli-2.0.67.msi");
blobClient.downloadToFile("d:/test/azure-cli-2.0.67.msi",true);
System.out.println("azure-cli-2.0.67.msi -> " + DigestUtils.md5DigestAsHex(FileUtils.openInputStream(new File("d:/test/azure-cli-2.0.67.msi"))));
}
Я запустил его дважды и получил следующие выходные данные:
// First time
azure-cli-2.0.67.msi -> 4510dc9ee0dd38bfbf261f6a9e467d34
// Second time
azure-cli-2.0.67.msi -> 4510dc9ee0dd38bfbf261f6a9e467d34
Я вижу, что вы пытаетесь загрузить ISO файл, размер которого может быть больше. Я не уверен, будет ли это проблемой. Если сетевая среда не подходит, загруженные данные могут быть неполными или неправильными, что может привести к вашей проблеме.