使用檢查總和保護資料完整性 - AWS SDK for PHP

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用檢查總和保護資料完整性

Amazon Simple Storage Service (Amazon S3) 可讓您在上傳物件時指定檢查總和。當您指定檢查總和時,它會與 物件一起存放,並且可以在下載物件時驗證。

當您傳輸檔案時,檢查總和可提供多一層的資料完整性。透過檢查總和,您可以確認收到的檔案符合原始檔案,以驗證資料一致性。如需使用 Amazon S3 檢查總和的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南,其中包含支援的演算法

您可以靈活地選擇最符合您需求的演算法,並讓 SDK 計算檢查總和。或者,您可以使用其中一個支援的演算法提供預先計算的檢查總和值。

注意

軟體開發套件也提供全域設定,用於外部設定的資料完整性保護,您可以在軟體AWS SDKs和工具參考指南中閱讀。

我們討論兩個請求階段的檢查總和:上傳物件和下載物件。

上傳物件

如果您未將檢查總和演算法與 請求一起提供,檢查總和行為會根據您使用的 SDK 版本而有所不同,如下表所示。

未提供檢查總和演算法時的檢查總和行為

使用預先計算的檢查總和值

隨請求提供的預先計算檢查總和值會停用 SDK 的自動運算,並改用提供的值。

下列範例顯示具有預先計算 SHA256 檢查總和的請求。

如果 Amazon S3 判斷指定演算法的檢查總和值不正確,服務會傳回錯誤回應。

分段上傳

您也可以搭配分段上傳使用檢查總和。

下載物件

當您使用 getObject方法下載物件時,軟體開發套件會在

以下程式碼片段中的請求會指示 SDK 透過計算檢查總和並比較值來驗證回應中的檢查總和。

如果物件未以檢查總和上傳,則不會進行驗證。