Checksum 是验证文件在网络传输过程中,有没有损坏或篡改的常用方法。
比如在golang安装包下载页面中,可以看到下载包对应的SHA256 Checksum验证码。
1
2
3
|
File name Kind OS Arch Size SHA256 Checksum
go1.22.3.src.tar.gz Source 26MB 80648ef34f903193d72a59c0dff019f5f98ae0c9aa13ade0b0ecbff991a76f68
go1.22.3.darwin-amd64.tar.gz Archive macOS x86-64 67MB 610e48c1df4d2f852de8bc2e7fd2dc1521aac216f0c0026625db12f67f192024
|
常见的Checksum校验和有 md5、SHA,还有GPG验证。
md5sum checksum
md5检验和工具md5sum
1
|
md5sum go1.22.3.src.tar.gz
|
md5sum help
sha checksum
sha1sum 验证原理和md5相同。
1
2
|
ha1sum install.log #install.log的sha1值
0750a96a87738a2d2173bbee12e40e6ab17136c6 install.log
|
sha256sum 用于计算文件的 SHA-256 哈希值
1
2
3
4
5
6
7
8
9
|
sha256sum [OPTION]... [FILE]...
-b, --binary # 以二进制模式读取
-c, --check # 从文件中读取 SHA256 校验和并进行检查
--tag # 创建 BSD 风格的校验和
-t, --text # 以文本模式读取(默认)
-z, --zero # 每行输出以 NUL 结尾,而不是换行符,并禁用文件名转义
--help # 显示此帮助并退出
--version # 输出版本信息并退出
|
使用示例:
1
2
3
4
5
6
7
8
9
10
|
sha256sum file.txt
# 多个文件
sha256sum file1.txt file2.txt
# 将 SHA-256 哈希值保存到文件中
sha256sum file.txt > hash.txt
# 验证文件的 SHA-256 哈希值
sha256sum -c hash.txt
|
gpg checksum
gnupg download
gpg使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@localhost zhangy]# gpg -c test.txt #加密test.txt
[root@localhost zhangy]# ls |grep test.txt #生成了一个文件,以.gpg结尾
test.txt
test.txt.gpg
[root@localhost zhangy]# rm -f test.txt #删除原有文件
[root@localhost zhangy]# gpg test.txt.gpg #解密
gpg: 钥匙环‘/root/.gnupg/secring.gpg’已建立
gpg: CAST5 加密过的数据
gpg: 以 1 个密码加密
gpg: 警告:报文未受到完整的保护
[root@localhost zhangy]# ls |grep test.txt #原有文件重新生成
test.txt
test.txt.gpg
|