第六节 Content-MD5 字段
最后更新于:2022-04-02 04:41:14
# Content-MD5
> 作者:肖鹏-SpiritLing 时间:2019-11-23
```http
Content-MD5: ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=
```
首部字段 `Content-MD5` 是一串由MD5算法生成的值,其目的在于检查报文主体在传输过程中是否保持完整,以及确认传输到达。
对报文主体执行 MD5 算法获得218位二进制数,再通过 Base64 编码后将结果写入 `Content-MD5` 字段值。由于 HTTP 首部无法记录二进制值,所以要通过 Base64 编码处理。为确保报文有效性,作为接受方的客户端会对报文主体在执行一次相同的MD5算法。计算出的值与字段值作比较候鸟,即可判断出报文主体的准确性。
采用这种方法,对内容上的偶发生性改变是无从查证的,也无法检测出恶意篡改。其中一个原因在于,内容如果能够被篡改,那么同时意味着 `Content-MD5` 也可重新计算然后被篡改。所以处在接受阶段的客户端是无法意识到报文主体以及首部字段 `Content-MD5` 是已经被篡改过的。
> 作者:肖鹏-SpiritLing 时间:2019-11-23
';