[教程] 简单的文件完整性校验

实用技术gpgpgpgnusha
浏览数 - 465发布于 - 2024-02-17 - 16:43
yuioto
yuioto

1144

前排提示: 这篇教程的目的在于指引使用哪些工具,目的并非是成为一篇面面具到的教程。

本文分为 2 个部分,在不同地方有不同的作用的。

hash

对于 Linux 或 macos 用户来说,非常简单。

sha512sum <file>

如果不是sha512的话,一般也可以通过像b2sum的方式验证。

如果你已有一个校验文件,可以通过下面的方式快速验证,前提是校验文件和被校验的文件名是一致的。

sha512sum -c <file.b2sum>
对 ArchLinux 用户的小提示

pkgfile可以自动寻找你所使用的命令所在的软件包,如果你恰好没安装这个包,它就会提示你安装!

阅读 wiki 并按照相关说明启用timer定时服务(阅读Automatic_updates章节)和添加对应的命令到你的shell配置文件,阅读Command not found章节,就在下面的链接!

pkgfile - ArchWiki --- pkgfile - ArchWiki (archlinux.org)

PS:对于Ubuntu用户来说,这个功能应该是开箱即用的。

对于 windows 用户

WLS 和 msys2 等,请参照 Linux 做法。

使用 HashCheck 就可以简单的验证啦。

比较 hash

最后,将你得到的 hash 与发布者的文件进行对比。

相符就说明文件没有被更改。

gpg & pgp

获取发布者的公钥

无论是哪个平台的用户,都要先下载公钥。

发表者的公钥 id 通常可以在个人简介中找到,然后就可以根据这个 id 从公开的公钥服务器下载啦。

gpg 也提供了快速下载的方法。

gpg --recv-keys <keyid/uid>

或者从指定公钥服务器获取。

gpg  --keyserver hkps://keyserver.ubuntu.com --recv-keys <keyid/uid>

常用的公钥服务器有:

但是一定注意,如果你不清楚风险,永远不要尝试上次你的公钥到公钥服务器

对于 Linux 或 macos 用户来说,依然非常简单。

gpg --verify <file.sig> <file>

当签名不是分离式的时候,只要传入 sig 文件。

file.sig 也可以是 asc 文件。

对于 windows 用户

WLS 和 msys2 等,请参照 Linux 做法。

使用 gpg4win 就可以简单的验证啦。

Kleopatra你可以轻松的下载相关的公钥,并在右键菜单中的More GpgE Xoptions中的verify菜单轻松验证。

更多关于 gpg 的知识可以参考

https://ulyc.github.io/2021/01/13/2021年-用更现代的方法使用PGP-上/

https://ulyc.github.io/2021/01/18/2021年-用更现代的方法使用PGP-中/

https://ulyc.github.io/2021/01/26/2021年-用更现代的方法使用PGP-下/

重新编辑于 - 2024-07-19 - 08:41

kohaku