Categories: PowerShell

PowerShell 計算檔案 MD5、SHA 檢查碼教學與範例

使用 PowerShell 計算檔案的 MD5 與 SHA 等檢查碼(checksum),確認檔案內容有無損壞或是遭到竄改。

當我們透過網路分享一些重要的檔案時,如果擔心檔案在傳輸的過程出現問題,或是遭到有心人士竄改內容等,就可以在發佈檔案之前,先計算檔案的檢查碼(checksum),而在分享檔案的同時也一併附上檔案的檢查碼,這樣接收者只要計算檔案的檢查碼,並確認自己算出的檢查碼與發佈者的檢查碼相同,就可以確保收到的檔案是完全相同的。

計算檢查碼

若要在 Windows 中計算檔案的檢查碼,最簡單又快速的方式就是使用 PowerShell 內建的 Get-FileHash 指令,不需要安裝任何軟體即可立即使用。例如若要計算 iris.csv 這一個檔案的檢查碼,可以執行:

# 計算檔案的檢查碼
Get-FileHash iris.csv
計算 SHA256 檢查碼

檢查碼演算法

Get-FileHash 指令預設會使用 SHA256 的演算法來計算檢查碼,若要使用其他不同的演算法,可以用 -Algorithm 參數來指定演算法的名稱,例如計算傳統上常用的 MD5 檢查碼:

# 計算 MD5 檢查碼
Get-FileHash iris.csv -Algorithm MD5
計算 MD5 檢查碼

除了 SHA256MD5 之外,可用的演算法還有 SHA1SHA384SHA512

# 計算 SHA1 檢查碼
Get-FileHash iris.csv -Algorithm SHA1

# 計算 SHA384 檢查碼
Get-FileHash iris.csv -Algorithm SHA384

# 計算 SHA512 檢查碼
Get-FileHash iris.csv -Algorithm SHA512

詳細輸出

預設的 Get-FileHash 指令輸出並不會標示其所使用的演算法,若想要讓輸出的訊息可以直接看出使用的演算法,可以配合 Format-List 指令,將所有的資訊都輸出來:

# 詳細輸出
Get-FileHash iris.csv -Algorithm MD5 | Format-List
詳細輸出

參考資料:How-To Geek

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago