Linux、Windows 下手动生成 sha256 等类型的校验文件
侧边栏壁纸
  • 累计撰写 75 篇文章
  • 累计收到 226 条评论
    love love love

Linux、Windows 下手动生成 sha256 等类型的校验文件

李哲
2023-08-07 / 21124 评论 / 1,557 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年08月07日,已超过272天没有更新,若内容或图片失效,请留言反馈。

OIP-C.jpg

本文演示了在 Linux 和 Windows 两种平台上,为文件生成 MD5,SHA1,SHA256 等校验码的方法,这可以用来检查文件是否被篡改,或着下载是否出错等问题。

目录

  1. 校验文件的作用
  2. Linux 下生成校验文件
  3. Windows 下生成校验文件
  1. 校验文件的作用

从网服务器下载文件,尤其是比较大的文件时,很容易由于网络不稳定,导致断点续传发生错误。

那要怎么确保下载文件的正确有效呢?

比较常见的做法是:提供下载服务的网站,在提供真实文件的同时,会提供该文件的校验值,比如 MD5,SHA1,SHA256 等某种格式,下载完文件后,计算它的校验值,如果和网站提供的一致,说明文件未损坏。 关于校验值:

校验值是一组 16 进制数,不区分大小写。校验值本身只与文件内容有关,只要文件内容不改变校验值就不变,比如拷贝、移动、修改文件创建时间/访问时间、修改文件读/写/执行权限等操作都不会导致校验值发生改变。

  1. LINUX 下生成校验文件

(1) 生成校验文件:

生成 md5 检验文件,检验文件的名称及后缀可自由定义,但一般情况下与文件名称相同:

md5sum file.tar > file.tar.md5

生成 sha1 校验文件:

sha1sum file.tar > file.tar.sha1

生成 sha256 检验文件:

sha256sum file.tar > file.tar.sha256

(2) 校验某个文件:

以 sha256 为例,需要待校验的文件,以及 sha256 文件:

sha256sum -c file.tar.sha256

如果输出【file.tar: OK】,说明文件校验成功。

  1. WINDOWS 下生成校验文件

(1) Windows 自带了 certutil 工具,支持的算法有:MD2、MD4、MD5、SHA1、SHA256、SHA384、SHA512。

通过 cmd 命令行进入文件所属目录,就可以用 certutil 工具来生成需要的校验文件了:

certutil -hashfile file.zip MD5 >> MD5.txt

certutil -hashfile file.zip SHA1 >> SHA1.txt

certutil -hashfile file.zip SHA256 >> SHA256.txt

(2) 如果你安装了 Git Bash,那还可以使用类似 Linux 的命令:

sha256sum.exe file.zip >> file.zip.sha256

注意:Windows 下的方式 (1) 生成的校验文件,与 sha256sum 工具生成的校验文件不通用:

$ cat Linux.sha256

26088313ed187d6dbaed81601c536ba62c71109862720bc9b5f6eaba03e456de file.zip

Windows 下方式 (2) 生成的校验文件中有一个 * 号:

$ cat Win.sha256

26088313ed187d6dbaed81601c536ba62c71109862720bc9b5f6eaba03e456de *file.zip

Windows 下方式 (1) 生成的校验文件与 sha256sum 工具生成的文件内容明显不一致:

$ cat Win_certutil.sha256

SHA256 FusionInsight_UpdateService_6.5.0to6.5.1_RHEL.tar.gz

26088313ed187d6dbaed81601c536ba62c71109862720bc9b5f6eaba03e456de

CertUtil: -hashfile

建议优先使用 Linux 系统下的工具生成校验文件; 若无 Linux 环境,可使用 Git Bash 等工具中的 sha256sum.exe。

126

评论 (21124)

取消
  1. 头像
    alicja
    Windows 10 · Google Chrome

    bjkb

    回复
  2. 头像
    alicja
    Windows 10 · Google Chrome

    I’m not that much of a online reader to be honest but your blogs really nice, keep it up!
    I’ll go ahead and bookmark your site to come ack later on. Cheers

    回复