在上一篇的文章中介绍了单向散列函数可以用于验证文件是否被篡改,这篇文件就介绍一下如何验证文件的正确性,也就是根据文件的签名信息验证文件是否被篡改。
软件说明
- 操作系统 - macOS 10.13.6
- 包管理软件 - Brew 1.7.2
- 文件下载软件 - Wget 1.19.5
- 加密和数字签名软件 GPG 2.2.9
相关软件安装
Wget安装
- brew install wget
GPG安装
- brew install gpg
举例说明
下载软件
可以通过wget命令来下载文件,具体执行的命令如下
Nginx软件下载 - 图片来自简书App Nginx软件签名软件下载 - 图片来自简书App验证
下载公钥文件
可以通过wget命令进行下载,具体下载地址请查看官网Keys。
导入公钥文件
导入公钥可以使用如下命令
- gpg --import *.key
导入结果如下图所示
公钥导入 - 图片来自简书App验证文件
通过以下命令进行验证
gpg --verify nginx-1.14.0.tar.gz.asc nginx-1.14.0.tar.gz
验证完成后输出如下
文件验证结果 - 图片来自简书App
参考
个人感悟
通过对单向散列函数的继续学习,我们可以知道密码学在现实生活中的应用,也看到了它作为一项技术广泛的应用场景,今天举例说明的这个文件防篡改只是一个小小的实验,当然在具体的软件使用场景下,不是这么简单地使用几个命令就能进行文件的防篡改的场景,我相信密码学技术带给我们的不仅仅是一些不易识别的字符,也是代表某种意义的软件标识,而在比特币的点对点网络中也使用了椭圆函数、单向散列函数等密码学技术,只要用心去思考其实现原理和实践他在某个场景下的具体应用,那么密码对你来说就不是那么陌生,而是一种莫名的满足感,这或许是作为程序员去践行技术改变世界的初衷吧。要是我的文章对您有所启发,那将是我莫大的荣幸。
网友评论