You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

md5sum
===
计算和校验文件报文摘要的工具程序
## 说明
**md5sum命令** 采用MD5报文摘要算法128位计算和检查文件的校验和。一般来说安装了Linux后就会有md5sum这个工具直接在命令行终端直接运行。
MD5算法常常被用来验证网络文件传输的完整性防止文件被人篡改。MD5 全称是报文摘要算法Message-Digest Algorithm 5此算法对任意长度的信息逐位进行计算产生一个二进制长度为128位十六进制长度就是32位的“指纹”或称“报文摘要”不同的文件产生相同的报文摘要的可能性是非常非常之小的。
### 语法
```
md5sum(选项)(参数)
```
```
-b二进制模式读取文件
-t或--text把输入的文件作为文本文件看待
-c从指定文件中读取MD5校验和并进行校验
--status验证成功时不输出任何信息
-w当校验不正确时给出警告信息。
```
### 参数
文件:指定保存着文件名和校验和的文本文件。
### 实例
**生成一个文件insert.sql的md5值**
```
[root@localhost ~]# md5sum insert.sql
bcda6cb5c704664f989703ac5a88f112 insert.sql
```
**检查文件testfile是否被修改过**
首先生成md5文件
```
md5sum testfile > testfile.md5
```
检查:
```
md5sum testfile -c testfile.md5
```
如果文件没有变化,输出应该如下:
```
forsort: OK
```
此时md5sum命令返回0。
如果文件发生了变化,输出应该如下:
```
forsort: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
```
此时md5sum命令返回非0。
这里,检查用的文件名随意。如果不想有任何输出,则`md5sum testfile --status -c testfile.md5`,这时候通过返回值来检测结果。
检测的时候如果检测文件非法则输出信息的选项:
```
md5sum -w -c testfile.md5
```
输出之后,文件异常输出类似如下:
```
md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
md5sum: testfile.md5: no properly formatted MD5 checksum lines found
```
这里testfile.md5只有一行信息但是我认为地给它多加了一个字符导致非法。如果md5文件正常那么`-w`有没有都一样。