【问题标题】:Why Rest API calls made with HTTPS doesn't require Md5 Checksum为什么使用 HTTPS 进行的 Rest API 调用不需要 Md5 校验和
【发布时间】:2017-02-13 23:15:16
【问题描述】:

MD5 校验和用于验证文件的数据完整性。我必须升级我的客户端以使用 HTTPS 以获得更好的安全性。

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

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

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

【问题讨论】:

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


    【解决方案1】:

    the documentation 开始,默认情况下,Content-MD5 是可选的,可用于在传输过程中验证 blob 的完整性。而且我们知道,在我们操作blob的时候推荐使用HTTPS,而且HTTPS已经提供了传输层的安全性,这个特性应该主要在使用HTTP的情况下使用。当然,如果你想使用这个 MD5 验证功能,你可以在请求头中指定 Content-MD5。

    另外,请参考this thread 讨论在Java中为文件生成MD5校验和。

    【讨论】:

      猜你喜欢
      • 2012-04-09
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多