如何驗證下載的檔案在 Windows 上的 SHA-256 檢查和
使用 PowerShell 或 Certutil 在指令提示中計算檔案的 SHA-256 。 把完整結果和出版商的檢查結果 做個比對
檢查碼描述檔案內容。 匹配的結果會與檢查碼取得一致, 而不是說程序是安全的 。 如果攻擊者取代檔案和公布的數值, 此比對無法預測它 。
找到正確的參考值
用出版商的官方指示來對其精确的版本、操作系統和架构。 ZIP 歸檔和從中提取的EXE有不同的字節。 SHA-256和SHA-512是不同的算法;十六進位 SHA-256有64個字符。 信件大小寫不改變其值 。 若有出版商的數位簽章, 也要檢查它。 Name
PowerShell: 計算與比對
在包含下載的資料夾中, 取代檔案名稱和參考占位符 :
Get-FileHash -LiteralPath '.\installer.exe' -Algorithm SHA256
$expected = 'PASTE_THE_PUBLISHERS_64_HEX_CHARACTERS'
$actual = (Get-FileHash -LiteralPath '.\installer.exe' -Algorithm SHA256).Hash
($expected -match '^[0-9a-fA-F]{64}$') -and ($actual -ieq $expected)
最後的表示式傳回 True 只有符合整片區域的 有效參考。 這些命令讀取了檔案; 他們不執行它 。 保留包含引用空格的路徑 。
命令提示: certutil
在 CMD 中執行此功能, 並將它的全部散列線和出版商的價值作比較:
certutil -hashfile ".\installer.exe" SHA256
成功訊息表示計算成功, 而不是參考匹配 。 sha256sum 不是標準的 CMD 命令; 它需要像 WSL 或適當的安裝工具那樣的附加環境 。
瀏覽器選項與錯配
其 校验和工具 接受最多20 MiB的檔案, 將整份檔案讀入瀏覽器內存 。 選擇相同的算法並貼上全部期望的檢查和 。 使用系統工具來處理更大的檔案 。
不匹配的, 不要執行檔案 。 檢查版本, 架构, 算法與下載完整性, 然後從官方來源再次下載 。 如果持續, 請聯繫出版商 。 永遠不要搜尋任意匹配的檢查和以證明檔案的合理性 。