2015-11-07 20 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

相關問題