下载软件别急着安装!用 SHA-256 校验文件,避免下载到被篡改的版本

举报
AiGuoHou 发表于 2026/11/03 10:15:21 2026/11/03
【摘要】 从网上下载软件、系统镜像或压缩包时,如何确认文件在下载过程中没有损坏或被替换?其实不需要安装杀毒软件,也不需要复杂的安全工具,只要使用系统自带的命令计算 SHA-256 哈希值,再与官方网站公布的校验值进行比较,就能快速检查文件是否一致。

平时下载一个安装程序,很多人习惯下载完成后直接双击运行。但文件下载失败、传输损坏或下载来源被篡改,都可能带来风险。今天介绍一种简单实用的文件完整性检查方法,Windows、macOS 和 Linux 用户都可以使用。

一、什么是 SHA-256?

可以把 SHA-256 理解成文件的数字指纹。

它是一种密码学哈希算法,可以根据文件内容计算出一个固定长度的摘要,结果通常由 64 个十六进制字符组成。

它有几个特点:

  • 相同的文件内容,计算出的哈希值相同。
  • 文件内容发生变化,哈希值通常也会发生明显变化。
  • 即使只是修改文件中的一个字节,计算结果也可能完全不同。
  • 从哈希值反推出原始文件内容,在实际安全应用中不可行。

例如,同一个安装程序,无论在电脑上计算多少次 SHA-256,只要文件内容没有变化,结果就应该一致。

因此,很多软件官方网站会在下载页面同时提供 SHA-256 校验值,方便用户检查下载文件。

二、不同系统如何计算 SHA-256?

不需要安装额外的软件,下面介绍三种常见方法。

1. Windows:使用 PowerShell

打开 PowerShell,输入:

Get-FileHash -LiteralPath ".\installer.exe" -Algorithm SHA256

将 installer.exe 替换成实际文件名和路径。

执行后会显示类似这样的结果:

Algorithm : SHA256
Hash      : 64位十六进制字符串
Path      : 文件路径

其中 Hash 就是需要比较的数字指纹。

2. macOS:使用 shasum

打开终端,进入文件所在目录,执行:

shasum -a 256 installer.dmg

这里的 -a 256 表示使用 SHA-256 算法。

3. Linux:使用 sha256sum

在终端输入:

sha256sum installer.tar.gz

系统会输出文件对应的 SHA-256 值和文件名。

GNU 官方文档提供了这些 SHA-2 校验工具的详细说明。

三、动手练习:验证下载的软件是否一致

假设你从某个软件官方网站下载了 installer.exe,官方网站同时公布了一串 SHA-256 校验值。

可以按照下面的步骤操作:

第一步:找到官方校验值。

进入软件开发者的官方网站,找到下载页面或发布说明,寻找 SHA256、Checksum 或 SHA-256 Checksum 等信息。

复制官方提供的完整校验字符串。

第二步:计算本地文件的哈希值。

在 Windows PowerShell 中执行:

Get-FileHash -LiteralPath ".\installer.exe" -Algorithm SHA256

第三步:比较两个结果。

如果两个字符串完全一致,说明本地文件与官方公布的文件摘要相符。

如果不一致,不要继续安装。可以检查下载来源、文件版本和算法是否正确,然后重新从官方网站下载。

还可以让 PowerShell 自动比较:

$expected = "粘贴官方网站公布的SHA256值"

$actual = (Get-FileHash `
  -LiteralPath ".\installer.exe" `
  -Algorithm SHA256).Hash

if ($actual -eq $expected) {
    "校验通过"
} else {
    "校验失败,请勿运行文件"
}

以后下载大型安装包或系统镜像时,就可以用这段代码快速检查。

四、校验成功就一定安全吗?

这里有一个非常重要的知识点:哈希一致,不等于文件绝对安全。

SHA-256 主要用于检查文件内容是否与指定摘要一致,它不能单独证明文件来自可信的软件开发者。

例如:

  • 如果文件和校验值都来自可信的官方网站,比较结果一致,可以增强对文件完整性的信心。
  • 如果下载网站本身已经被攻击,攻击者可能同时替换文件和校验值。
  • 如果使用了错误版本的校验值,即使文件正常,也可能出现不匹配。

因此,建议遵循三个原则:

  1. 优先从软件官方网站或可信发布渠道下载。
  2. 确认校验值对应的文件版本和哈希算法。
  3. 对重要软件,优先使用官方数字签名或可信发布渠道提供的签名验证方式,进一步确认发布者身份。

微软官方也提供了 Get-FileHash 的使用说明,可以了解不同算法和参数的具体用途。

五、哪些场景特别值得使用?

  • 下载系统镜像: 检查 Windows、Linux 安装镜像是否完整。
  • 下载大型软件: 避免安装包在传输过程中发生损坏。
  • 传输工作文件: 比较发送前后的哈希值,确认文件内容是否一致。
  • 备份重要资料: 定期计算哈希值,帮助发现文件是否发生变化。

对于普通用户,最值得养成的习惯就是:下载重要安装程序后,先检查来源,再验证哈希,最后才考虑运行。

总结: SHA-256 是一个简单却非常实用的安全工具。记住 Windows 的 Get-FileHash、macOS 的 shasum -a 256 和 Linux 的 sha256sum,就能在安装软件或传输重要文件前,多做一次可靠的完整性检查。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。