在Windows上使用PowerShell提供的Get-FileHash命令生成文件的MD5\SHA1\SHA256哈希值

在Windows上使用PowerShell提供的Get-FileHash命令生成文件的MD5\SHA1\SHA256哈希值
哈希值是与文件内容相对应的唯一值。哈希不是通过文件名,扩展名或其他名称来标识文件的内容,而是将唯一的值分配给文件的内容。可以任意更改文件的文件名或扩展名,只要文件内容不发生变化,生成的哈希值就不会变。如果更改了文件内容,哪怕是一个标点符号,生成的哈希值也会随之变化。Get-FileHash命令通过使用指定的哈希算法来计算文件的哈希值,支持SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、RIPEMD160等多种算法。

环境安装

首先我们需要先安装PowerShell,可以到这里去下载: https://github.com/PowerShell/PowerShell/releases

语法

Get-FileHash 文件路径 -Algorithm Hash类型| Format-List

说明

  • 文件路径:指文件的全路径,需要注意的是如果需要校验的文件路径比较复杂,例如路径中包含空格、括号等特殊符号,则需要在路径前后加上英文双引号。
  • -Algorithm:可选项,如果不带-Algorithm参数,也就是不指定Hash类型,那么默认就使用是SHA256算法。
  • Hash类型:Hash算法类型,包括:SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、RIPEMD160。
  • Format-List:格式化输出

示例

示例1:默认生成文件的哈希值

本示例使用Get-FileHash计算test.txt文件的哈希值,使用的哈希算法是默认的SHA256,并使用Format-List命令,以列表格式化输出显示。

PS C:\Users\HFY> Get-FileHash c:\test\test.txt | Format-List

Algorithm : SHA256
Hash      : E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
Path      : C:\test\test.txt

示例2:生成文件的MD5哈希值

本示例使用Get-FileHash命令并指定算法为MD5生成哈希值,并使用Format-List命令以列表格式化输出显示。

PS C:\Users\HFY> Get-FileHash c:\test\test.txt -Algorithm MD5| Format-List

Algorithm : MD5
Hash      : D41D8CD98F00B204E9800998ECF8427E
Path      : C:\test\test.txt

示例3:生成文件的SHA1哈希值

本示例使用Get-FileHash命令并指定SHA1算法生成哈希值,并使用Format-List命令以列表格式化输出显示。

PS C:\Users\HFY> Get-FileHash c:\test\test.txt -Algorithm SHA1| Format-List

Algorithm : SHA1
Hash      : DA39A3EE5E6B4B0D3255BFEF95601890AFD80709
Path      : C:\test\test.txt

参考资料:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7

the end

热门文章