当要传输一可信文件时,可以利用sha1sum命令工具,我的演示实例如下:
假设要传输的文件名为 transfer-file-date.gz.如何确保该文件在网络中传输到目地地址后没有被更改过呢?
这里就用到了sha1sum。
1.生成测试文件transfer-file-date.gz
root$ touch transfer-file-date.gz
2.生成对文件内容进行哈希的transfer-file-date.gz.sha1sum
root$ sha1sum transfer-file-date.gz > transfer-file-date.gz.sha1sum
此时文件transfer-file-date.gz已经认为经过签名,可以进行网络传输。
3.对签名文件进行认证
root$ sha1sum -c transfer-file-date.gz.sha1sum
返回的结果应该是
transfer-file-date.gz: OK
表示文件没有在进行签名后修改过。
如果返回的是:
sha1sum: WARNING: 1 of 1 computed checksum did NOT match
表示被签名后的文件进行过修改。
sha1sum这个shell工具背后的数学原理是对被签名的文文件容进行哈希。无论文件的大小,哈希算法本身可以非常快速的算出一个签名,显然背后的算法设计很先进,保持关注:)