Почему вызовы Rest API, сделанные с помощью HTTPS, не требуют контрольной суммы Md5

Контрольная сумма MD5 используется для проверки целостности данных файла. Мне нужно обновить мой клиент, чтобы использовать HTTPS для большей безопасности.

Но при чтении документации по API службы BLOB-объектов Azure (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. Пожалуйста, также посоветуйте алгоритм для вычисления контрольной суммы MD5 в Java. Потому что алгоритм, которому я следовал из официальной документации IETF (https://www.ietf.org/rfc/rfc1321.txt) не работает.

person Arjun Chaudhary    schedule 13.02.2017    source источник


Ответы (1)


Из документации по умолчанию Content-MD5 является необязательным и может использоваться для проверки целостности большого двоичного объекта во время транспортировки. И, как мы знаем, HTTPS рекомендуется, когда мы работаем с большими двоичными объектами, а HTTPS уже обеспечивает безопасность транспортного уровня, эту функцию следует использовать в первую очередь, если используется HTTP. Конечно, вы можете указать Content-MD5 в заголовке запроса, если хотите использовать эту функцию проверки MD5.

Кроме того, обратитесь к этой теме, в которой обсуждалось создание контрольной суммы MD5 для файл на Яве.

person Fei Han    schedule 14.02.2017