【发布时间】: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 连接,因为这将是多余的。”
- 首先为什么 MD5 检查是可选的。因为,我认为 MD5 的生成速度非常快,所以要求它可能不会有什么坏处。
- 第二个为什么在 HTTPS 的情况下它是多余的。因为我要上传的文件可能会经过一个中间步骤。例如,我可以以电子方式将文件传输给我的初中生上传。因此,他可能会更改文件并上传。如果我有校验和,我可以下载文件并检查其完整性。
- 还请提供一种算法来计算 Java 中的 MD5 校验和。因为我从 IETF 官方文档 (https://www.ietf.org/rfc/rfc1321.txt) 中遵循的算法不起作用。
【问题讨论】:
标签: azure azure-storage azure-blob-storage