觀點 · 資訊分享

Amazon S3 一次新增 5 種檢查碼演算法,總數達 10 種:上傳下載都能驗證檔案沒被傳壞

Amazon S3 新增 MD5、XXHash3、XXHash64、XXHash128、SHA-512 五種檢查碼演算法,總數增為 10 種。S3 會在上傳時核對並保存檢查碼,不需額外工具,也不另外收費。

發布
2026-04-23
篇幅
約 3 分鐘 · 1,194 字
結構
7 節 + 3 題常見問題
標籤
#AWS#Amazon S3#資料完整性#檢查碼
Amazon S3 一次新增 5 種檢查碼演算法,總數達 10 種:上傳下載都能驗證檔案沒被傳壞

一句話看懂:Amazon S3 一次新增 5 種檢查碼演算法,總數達 10 種,讓你上傳、下載時都能核對檔案有沒有被傳壞。

S3 新增 5 種檢查碼演算法資訊圖卡:S3 檢查碼演算法增為 10 種,上傳下載都能驗證檔案完整

先用白話講:檢查碼是什麼?

你寄一個很重要的包裹,會希望收件人拆開時能確認「內容跟我寄出去的一模一樣」。檢查碼就像在包裹上貼一張防偽封條:用演算法把檔案內容算成一串短短的「指紋」,上傳前算一次、下載後再算一次,兩個指紋一樣,就代表內容沒有被改動或傳壞。

發生什麼事

AWS 在 2026 年 4 月 23 日宣布,S3 新增五種檢查碼演算法:MD5、XXHash3、XXHash64、XXHash128、SHA-512,加起來總共支援 10 種。

  • S3 會驗證並把檢查碼跟物件一起保存,不需額外工具就能做端到端的完整性驗證
  • 上傳時可以自己提供檢查碼,S3 會先核對再儲存
  • 分段上傳(multipart)時提供每一段的檢查碼,完成後 S3 會算出整份的複合檢查碼
  • 如果上傳時沒提供,S3 會自動計算 CRC64NVME 當預設保護
  • 下載時也可以要求取回保存的檢查碼來比對

還能搭配什麼?

功能 新演算法的支援
S3 Replication(跨儲存桶複製) 複製時保留檢查碼
S3 Inventory(物件清單) 可長期稽核資料集的檢查碼
S3 Batch Operations 替沒有檢查碼的舊物件批次補算,不必下載或還原

給開發者的技術細節

  • 可用 AWS CLI 或 AWS SDK 開始使用,詳細參數請看 S3 使用者指南
  • 官方說明新演算法不另外收費,涵蓋 37 個 AWS 區域,包括中國與 GovCloud(US)區域
  • 公告沒有比較各演算法的速度與安全性差異;選哪一種,要看自己的場景。例如 MD5 與 SHA-512 是比較常見、容易跟其他系統對接的雜湊,XXHash 系列則是以速度見長的非加密雜湊(這部分是一般知識,非公告內容)

我的看法

接案時常遇到客戶要把一大批檔案搬上雲端,最怕的就是「搬完才發現少了、壞了」。能在上傳當下就讓 S3 幫忙核對,比事後人工抽查可靠多了。尤其是已經有現成流程用 MD5 對檔案的人,現在不用再自己轉換演算法。

如果只是一般網站的圖片上傳,其實用預設的就夠了;要自己指定演算法,通常是跟舊系統對帳、或有合規要求的時候。

名詞小辭典

  • S3:AWS 的物件儲存服務,可以想成無限大的網路硬碟。
  • 檢查碼(Checksum):用演算法算出來的檔案指紋,用來確認內容沒被改壞。
  • 分段上傳:把大檔案切成幾段分別上傳,最後再合併。
  • 完整性驗證:確認資料從頭到尾都沒有遺失或被竄改。

資料來源

常見問題

檢查碼是什麼?
像是檔案的指紋:用演算法把檔案內容算成一串短字串,傳輸前後各算一次,一樣就代表內容沒有被改壞。
我不指定演算法會怎樣?
官方說明:上傳時沒提供檢查碼,S3 會自動計算並套用 CRC64NVME 作為預設的完整性保護。
已經上傳的舊檔案怎麼辦?
沒有檢查碼、或用了別種演算法的舊物件,可以用 S3 Batch Operations 大量計算,不必重新下載或還原。
LINE