为什么使用HTTPS进行Rest API调用并不需要Md5校验和

时间:2017-02-13 23:15:16

标签: azure azure-storage azure-storage-blobs azure-blob-storage

MD5校验和用于验证文件的数据完整性。我必须升级我的客户端才能使用HTTPS以提高安全性。

但是,在阅读Azure Blob服务API文档(https://blogs.msdn.microsoft.com/windowsazurestorage/2011/02/17/windows-azure-blob-md5-overview/)时,它声明:

  

" MDUT检查在PUT和GET操作中都是可选的;不过它   确实提供了便利设施,以确保数据的完整性   使用HTTP时的网络。此外,由于HTTPS提供   传输层安全性不需要额外的MD5检查   通过HTTPS连接,因为它是多余的。"

  1. 首先,为什么MD5检查是可选的。因为,我认为MD5的产生速度非常快,所以要求它可能没什么坏处。
  2. 为什么在HTTPS的情况下它是多余的。因为我想要上传的文件可能会经历一个中间步骤。例如,我可以通过电子方式将文件传输给我的大三学生进行上传。因此,他可能会更改文件并上传它。如果我有校验和,我可以下载文件并检查它的完整性。
  3. 请同时建议使用算法来计算Java中的MD5校验和。因为我在官方IETF文档(https://www.ietf.org/rfc/rfc1321.txt)中遵循的算法不起作用。

1 个答案:

答案 0 :(得分:-1)

the documentation开始,默认情况下,Content-MD5是可选的,可用于在传输过程中验证blob的完整性。我们知道,在我们运行blob时建议使用HTTPS,而HTTPS已经提供了传输层安全性,如果使用HTTP,则应主要使用此功能。当然,您可以在请求标题中指定Content-MD5如果您想使用此MD5验证功能。

此外,请参阅讨论有关为Java文件生成MD5校验和的this thread