Compression
解壓後檢查文件的MD5有什麼價值嗎?
我目前正在處理的一個項目要求使用者在解壓縮*後對整個項目執行 MD5 雜湊檢查工具。*他們目前不要求檢查 ZIP 本身。
如果他們要切換到檢查 zip 的 MD5,使用 MD5 驗證解壓縮文件的完整性是否有任何價值 - 或者解壓縮時是否包含 CRC 檢查?
您的解壓縮軟體可能會做一些奇怪的事情,或者數據在儲存步驟中被破壞。對於高度關鍵的數據,您應該始終在將其儲存到磁碟後進行驗證。
在實踐中,zip/unzip 是舊程序,Linux 附帶的 Zip 程序中出現錯誤的風險相當低。這主要是在不穩定的平台上或儲存出現問題時的問題。我已經看到路由器在解壓縮它們時會損壞圖像,並且通過 NFS 寫入失敗會導致有趣的文件損壞。
如果您認為有人可能會製作一個“邪惡”的 zip 存檔來繞過您的檢查,那麼情況會有所不同。請注意,zip 中的 CRC 對攻擊者沒有提供任何保護,並且 MD5 是一種相當古老且弱的算法。大多數係統正在轉向 SHA 算法來驗證文件完整性(我認為 SHA256 是最受歡迎的)。散列存檔和擴展文件會使對 MD5 的攻擊變得更加困難。