我需要在php中为从Amazon GetReport调用接收的GetReport文件计算Md5哈希,并与GetReport响应头中收到的Content-md5哈希字符串匹配,以检查文件的完整性。 问题是我无法弄清楚如何计算通过Amazon GetReport调用收到的报告文件的md5哈希。
我正在使用Guzzle进行此GetReport Api通话
谢谢
答案 0 :(得分:0)
不确定这是否有效。我们假设$response
是Guzzle\Http\Message\Response
对象:
$expectedContentMd5 = $response->getHeader('Content-MD5');
$calculatedContentMd5 = base64_encode(md5($response->getBody(), true));
if($expectedContentMd5 === $calculatedContentMd5) {
//verified, do your tasks here
} else {
echo 'MD5 not matched';
exit;
}
的启示
请注意,在AWS中,Content-MD5
字段是数据的二进制md5哈希值的base64编码值。