PowerShell的Get-FileHash命令
在控制台输入 get-f 后按 tab 可以自动补全为 Get-FileHash
cmdlet Get-FileHash 使用指定的哈希算法计算文件的哈希值。 哈希值是对应文件内容的唯一值。 哈希将唯一值分配到文件的内容,而不是通过其文件名、扩展名或其他指定标识文件的内容。 可以更改文件名和扩展名,而无需更改文件的内容,而且无需更改哈希值。 同样,无需更改名称或扩展名即可更改文件的内容。 但是,即使更改文件内容中的单个字符也会更改该文件的哈希值。
哈希值的用途是提供加密型安全的方式,以验证尚未更改文件的内容。 虽然某些哈希算法(包括 MD5 和 SHA1)不再被视为安全免受攻击,但安全哈希算法的目标是使无法更改文件的内容(无论是意外还是恶意或未经授权的尝试),并维护相同的哈希值。 你还可以使用哈希值来确定两个不同的文件是否具有完全相同的内容。 如果两个文件的哈希值相同,则文件的内容也相同。
默认情况下, Get-FileHash cmdlet 使用 SHA256 算法,但可以使用目标操作系统支持的任何哈希算法。
参数
-Algorithm 算法
不指定这个参数的话, 默认的是 SHA256
指定用于计算指定文件或流的内容的哈希值的加密哈希函数。 加密哈希函数的 属性是无法找到两个具有相同哈希值的不同文件。 哈希函数通常与数字签名一起使用并用来保持数据的完整性。 此参数的可接受值为:
- SHA1
- SHA256
- SHA384
- SHA512
- MD5
如果未指定任何值,或省略了参数,则默认值为 SHA256。
-Algorithm SHA1
-Algorithm SHA256
-Algorithm SHA384
-Algorithm SHA512
-Algorithm MD5