验证 JDK 安装包完整性应优先使用官网提供的 .sha256 文件配合 sha256sum -c 命令校验,其次手动比对时需确保校验值为64位小写十六进制且与官网实时显示完全一致。

直接用 sha256sum 命令比对官网提供的 SHA-256 校验值,是验证 JDK 安装包完整性的标准做法。关键不在于“会不会算”,而在于“比对方式是否可靠”——手动复制粘贴校验值极易出错,也容易忽略换行、空格或大小写问题。
获取并确认官网校验值
Oracle 或 OpenJDK 发行版(如 Eclipse Temurin)的下载页面,都会在安装包链接旁明确列出对应 SHA-256 值。注意以下几点:
- 必须从官方页面实时查看,不要依赖截图、博客转载或第三方汇总,防止被篡改或过期;
- 核对文件名是否完全一致(例如
jdk-17.0.2_linux-x64_bin.tar.gz和jdk-17.0.2_linux-aarch64_bin.tar.gz的校验值不同); - 部分页面提供
.sha256文件下载(如 Adoptium),它本质是一个纯文本文件,内容就是一行校验值+空格+文件名。
用 sha256sum 命令一键校验
Linux/macOS 终端中,推荐两种可靠方式:
-
方式一:使用 .sha256 文件校验(最稳妥)
假设你已下载jdk-17.0.2_linux-x64_bin.tar.gz及其配套的jdk-17.0.2_linux-x64_bin.tar.gz.sha256:sha256sum -c jdk-17.0.2_linux-x64_bin.tar.gz.sha256
输出jdk-17.0.2_linux-x64_bin.tar.gz: OK即表示通过; -
方式二:手动比对(需谨慎)
先计算本地文件哈希:sha256sum jdk-17.0.2_linux-x64_bin.tar.gz
再将输出的前64位十六进制字符串,与官网显示的值逐字符比对(建议复制粘贴后用文本编辑器查长度:必须是64个字符,且全为 0–9、a–f)。
Windows 用户可用 certutil
无需额外安装工具,命令提示符或 PowerShell 中运行:
certutil -hashfile "C:\path\to\jdk-17.0.2_windows-x64_bin.exe" SHA256- 注意路径要用英文引号包裹,且反斜杠需为双反斜杠或正斜杠;
- 输出结果中去掉首行说明和空行,取第二行的64位值,与官网比对。
常见失败原因与应对
校验失败 ≠ 一定被篡改,更可能是传输或操作问题:
- 文件下载不完整:检查文件大小是否与官网标注一致(如 JDK 17 Linux 包通常约 170–185 MB);
- 下载中途断连或浏览器静默重试,导致文件截断;
- 误将校验值复制成带空格/换行的多行文本;
- 混淆了 SHA-256 与 MD5、SHA-1 等其他算法(务必确认官网提供的是 SHA-256)。











