[玩转系统] 获取文件哈希 (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:06:58 浏览:15 分类:玩电脑
获取文件哈希 (Microsoft.PowerShell.Utility)
Get-FileHash
模块 :Microsoft.PowerShell.Utility使用指定的哈希算法计算文件的哈希值。
句法
Get-FileHash
[-Path] <String[]>
[[-Algorithm] <String>]
[<CommonParameters>]
Get-FileHash
[-LiteralPath] <String[]>
[[-Algorithm] <String>]
[<CommonParameters>]
Get-FileHash
[-InputStream] <Stream>
[[-Algorithm] <String>]
[<CommonParameters>]
描述
Get-FileHash
cmdlet 使用指定的哈希算法计算文件的哈希值。哈希值是与文件内容相对应的唯一值。哈希不是通过文件名、扩展名或其他名称来标识文件的内容,而是为文件的内容分配唯一的值。可以更改文件名和扩展名,而无需更改文件内容,也无需更改哈希值。同样,可以更改文件的内容而不更改名称或扩展名。但是,即使更改文件内容中的单个字符也会更改文件的哈希值。
哈希值的目的是提供一种加密安全的方式来验证文件的内容是否未被更改。虽然某些哈希算法(包括 MD5 和 SHA1)不再被认为是安全的,可以抵御攻击,但安全哈希算法的目标是使文件内容无法被意外地、恶意或未经授权的尝试更改。 - 并保持相同的哈希值。您还可以使用哈希值来确定两个不同的文件是否具有完全相同的内容。如果两个文件的哈希值相同,则文件的内容也相同。
默认情况下,Get-FileHash
cmdlet 使用 SHA256 算法,但也可以使用目标操作系统支持的任何哈希算法。
示例
示例 1:计算文件的哈希值
此示例使用 Get-FileHash
cmdlet 计算 /etc/apt/sources.list
文件的哈希值。使用的哈希算法是默认的SHA256。输出通过管道传送到 Format-List
cmdlet,以将输出格式化为列表。
Get-FileHash /etc/apt/sources.list | Format-List
Algorithm : SHA256
Hash : 3CBCFDDEC145E3382D592266BE193E5BE53443138EE6AB6CA09FF20DF609E268
Path : /etc/apt/sources.list
示例 2:计算 ISO 文件的哈希值
此示例使用 Get-FileHash
cmdlet 和 SHA384 算法来计算管理员从 Internet 下载的 ISO 文件的哈希值。输出通过管道传送到 Format-List
cmdlet,以将输出格式化为列表。
Get-FileHash C:\Users\user1\Downloads\Contoso8_1_ENT.iso -Algorithm SHA384 | Format-List
Algorithm : SHA384
Hash : 20AB1C2EE19FC96A7C66E33917D191A24E3CE9DAC99DB7C786ACCE31E559144FEAFC695C58E508E2EBBC9D3C96F21FA3
Path : C:\Users\user1\Downloads\Contoso8_1_ENT.iso
示例 3:计算流的哈希值
在此示例中,我们使用 System.Net.WebClient 从 Powershell 发布页面下载包。发布页面还记录了每个包文件的 SHA256 哈希值。我们可以将发布的哈希值与使用 Get-FileHash
计算的哈希值进行比较。
$wc = [System.Net.WebClient]::new()
$pkgurl = 'https://github.com/PowerShell/PowerShell/releases/download/v6.2.4/powershell_6.2.4-1.debian.9_amd64.deb'
$publishedHash = '8E28E54D601F0751922DE24632C1E716B4684876255CF82304A9B19E89A9CCAC'
$FileHash = Get-FileHash -InputStream ($wc.OpenRead($pkgurl))
$FileHash.Hash -eq $publishedHash
True
示例 4:计算字符串的哈希值
PowerShell 不提供用于计算字符串哈希的 cmdlet。但是,您可以将字符串写入流并使用 Get-FileHash
的 InputStream 参数来获取哈希值。
$stringAsStream = [System.IO.MemoryStream]::new()
$writer = [System.IO.StreamWriter]::new($stringAsStream)
$writer.write("Hello world")
$writer.Flush()
$stringAsStream.Position = 0
Get-FileHash -InputStream $stringAsStream | Select-Object Hash
Hash
----
64EC88CA00B268E5BA1A35678A1B5316D212F4F366B2477232534A8AECA37F3C
参数
-Algorithm
指定用于计算指定文件或流内容的哈希值的加密哈希函数。加密哈希函数具有无法找到具有相同哈希值的两个不同文件的特性。哈希函数通常与数字签名一起使用并用于保证数据完整性。该参数可接受的值为:
- SHA1
- SHA256
- SHA384
- SHA512
- MD5
如果未指定值,或者省略该参数,则默认值为 SHA256。
出于安全原因,MD5 和 SHA1 不再被认为是安全的,应该仅用于简单的更改验证,而不应该用于为需要防止攻击或篡改的文件生成哈希值。
类型 :String
接受的值:SHA1、SHA256、SHA384、SHA512、MD5
位置:1
默认值:SHA256
必需的:False
接受管道输入:False
接受通配符:False
-InputStream
指定输入流。
类型 :溪流
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-LiteralPath
指定文件的路径。与 Path 参数不同,LiteralPath 参数的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将路径用单引号引起来。单引号指示 PowerShell 不要将字符解释为转义序列。
类型 :String[]
别名:PSPath, LP
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-Path
将一个或多个文件的路径指定为数组。允许使用通配符。
类型 :String[]
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:True
输入
字符串
您可以通过管道将包含文件路径的字符串传递给此 cmdlet。
输出
Microsoft.PowerShell.Utility.FileHash
此 cmdlet 返回一个对象,表示指定文件的路径、计算的哈希值以及用于计算哈希的算法。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag