Skip to content

Commit f38fd0e

Browse files
authored
Update md5sum.md
1 parent 122a390 commit f38fd0e

File tree

1 file changed

+99
-90
lines changed

1 file changed

+99
-90
lines changed

command/md5sum.md

Lines changed: 99 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,99 @@
1-
md5sum
2-
===
3-
4-
计算和校验文件报文摘要的工具程序
5-
6-
## 补充说明
7-
8-
**md5sum命令** 采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
9-
10-
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
11-
12-
### 语法
13-
14-
```
15-
md5sum(选项)(参数)
16-
```
17-
18-
### 选项
19-
20-
```
21-
-b:二进制模式读取文件;
22-
-t或--text:把输入的文件作为文本文件看待;
23-
-c:从指定文件中读取MD5校验和,并进行校验;
24-
--status:验证成功时不输出任何信息;
25-
-w:当校验不正确时给出警告信息。
26-
```
27-
28-
### 参数
29-
30-
文件:指定保存着文件名和校验和的文本文件。
31-
32-
### 实例
33-
34-
**生成一个文件insert.sql的md5值:**
35-
36-
```
37-
[root@localhost ~]# md5sum insert.sql
38-
bcda6cb5c704664f989703ac5a88f112 insert.sql
39-
```
40-
41-
**检查文件testfile是否被修改过:**
42-
43-
首先生成md5文件:
44-
45-
```
46-
md5sum testfile > testfile.md5
47-
```
48-
49-
检查:
50-
51-
```
52-
md5sum testfile -c testfile.md5
53-
```
54-
55-
如果文件没有变化,输出应该如下:
56-
57-
```
58-
forsort: OK
59-
```
60-
61-
此时,md5sum命令返回0。
62-
63-
如果文件发生了变化,输出应该如下:
64-
65-
```
66-
forsort: FAILED
67-
md5sum: WARNING: 1 of 1 computed checksum did NOT match
68-
```
69-
70-
此时,md5sum命令返回非0。
71-
72-
这里,检查用的文件名随意。如果不想有任何输出,则`md5sum testfile --status -c testfile.md5`,这时候通过返回值来检测结果。
73-
74-
检测的时候如果检测文件非法则输出信息的选项:
75-
76-
```
77-
md5sum -w -c testfile.md5
78-
```
79-
80-
输出之后,文件异常输出类似如下:
81-
82-
```
83-
md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
84-
md5sum: testfile.md5: no properly formatted MD5 checksum lines found
85-
```
86-
87-
这里,testfile.md5只有一行信息,但是我认为地给它多加了一个字符,导致非法。如果md5文件正常那么`-w`有没有都一样。
88-
89-
90-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
1+
md5sum
2+
===
3+
4+
计算和校验文件报文摘要的工具程序
5+
6+
## 补充说明
7+
8+
**md5sum命令** 采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
9+
10+
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
11+
12+
### 语法
13+
14+
```
15+
md5sum(选项)(参数)
16+
```
17+
18+
### 选项
19+
20+
```
21+
-b:二进制模式读取文件;
22+
-t或--text:把输入的文件作为文本文件看待;
23+
-c:从指定文件中读取MD5校验和,并进行校验;
24+
--status:验证成功时不输出任何信息;
25+
-w:当校验不正确时给出警告信息。
26+
```
27+
28+
### 参数
29+
30+
文件:指定保存着文件名和校验和的文本文件。
31+
32+
### 实例
33+
34+
**使用 md5sum 生成密码**
35+
36+
另一种获取可用作密码的随机字符串的方法是计算 MD5 校验值!校验值看起来确实像是随机字符串组合在一起,我们可以用作密码。确保你的计算源是个变量,这样的话每次运行命令时生成的校验值都不一样。比如 date !date 命令 总会生成不同的输出。
37+
38+
```
39+
[root@localhost ~]# date | md5sum
40+
6a43f2c246cdc3e6a3592652f831d186 -
41+
```
42+
43+
**生成一个文件insert.sql的md5值:**
44+
45+
```
46+
[root@localhost ~]# md5sum insert.sql
47+
bcda6cb5c704664f989703ac5a88f112 insert.sql
48+
```
49+
50+
**检查文件testfile是否被修改过:**
51+
52+
首先生成md5文件:
53+
54+
```
55+
md5sum testfile > testfile.md5
56+
```
57+
58+
检查:
59+
60+
```
61+
md5sum testfile -c testfile.md5
62+
```
63+
64+
如果文件没有变化,输出应该如下:
65+
66+
```
67+
forsort: OK
68+
```
69+
70+
此时,md5sum命令返回0。
71+
72+
如果文件发生了变化,输出应该如下:
73+
74+
```
75+
forsort: FAILED
76+
md5sum: WARNING: 1 of 1 computed checksum did NOT match
77+
```
78+
79+
此时,md5sum命令返回非0。
80+
81+
这里,检查用的文件名随意。如果不想有任何输出,则`md5sum testfile --status -c testfile.md5`,这时候通过返回值来检测结果。
82+
83+
检测的时候如果检测文件非法则输出信息的选项:
84+
85+
```
86+
md5sum -w -c testfile.md5
87+
```
88+
89+
输出之后,文件异常输出类似如下:
90+
91+
```
92+
md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
93+
md5sum: testfile.md5: no properly formatted MD5 checksum lines found
94+
```
95+
96+
这里,testfile.md5只有一行信息,但是我认为地给它多加了一个字符,导致非法。如果md5文件正常那么`-w`有没有都一样。
97+
98+
99+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

0 commit comments

Comments
 (0)