2015-11-07 17 views
2

这是解决方法:通过将MD5十六进制转换为base64而不是字符串来解决此问题。Amazon S3提供InvalidDigest:您指​​定的Content-MD5无效

举例JS(Node.js的或类似的,browserify等

new Buffer(md5, 'hex').toString('base64') 

我只花了几分钟就想出解决办法,所以我想我可以分享。:)

+0

你的“问题”是回答,但是我发现它很有用:) – scorpiodawg

回答

0

Content-MD5是总是一个base64头。

根据RFC 1864,该消息的base64编码的128位MD5摘要(不含标头)。此标头可用作消息完整性检查以验证数据是与最初发送的数据相同的数据。虽然它是可选的,但我们建议使用Content-MD5机制作为端到端的完整性检查。有关REST请求验证的详细信息,请Rest认证亚马逊简单存储服务开发者指南中 类型:String 默认值:无 限制条件:没有

REST Put Object

+1

是的,但重点是你必须将你的MD5散列的十六进制符号转换为base64 :) – nxrd

+0

你是对的@ user3376954,我以为你在这里问一个问题:-) – Harshavardhana

相关问题