MD5算法通常用于检查文件完整性,尤为经常使用于检测在(网络)文件传输、拷贝、磁盘错误或其余无恶意涉入的状况下文件的正确性。MD5 全称报文摘要算法(Message-DigestAlgorithm 5)[RFC 1321],该算法对任意长度的信息进行逐位计算,产生一个二进制长度128位(十六进制长度32位)的校验和(或称“指纹”,“报文摘要”),不一样的文件内容生成相同的报文摘要的几率是极其小的。算法
在Linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。通常来讲,安装了Linux后,就会有md5sum工具,能够在命令行终端直接执行。shell
md5sum [OPTION]... [FILE]...安全
命令选项网络
-b 或 --binary: 以二进制模式读入文件;数据结构
-t 或 --text: 以文本文件模式读入文件(默认);ide
-c 或 --check: 用来从文件中读取md5信息检查文件的一致性;工具
--status: 该选项与check一块儿使用,在check时不输出,根据返回值表示检查结果;加密
-w 或 --warn: 在check时,检查输入的md5信息有没有非法行,如有则输出相应信息。spa
举例:通常检查文件内容是否被修改.net
[root@localhost shell]# ls -l
总用量 12
-rw-r--r--. 1 root root 7 10月 12 20:43 aa
-rw-r--r--. 1 root root 4 10月 12 20:42 bb
drwxr-xr-x. 2 root root 4096 10月 12 20:41 ding
把aa 中的文件用md5sum加密,放在ding 的目录中
[root@localhost shell]# md5sum aa >ding/aa.md5
[root@localhost shell]# cat ./ding/aa.md5
f447b20a7fcbf53a5d5be013ea0b15af aa #发现aa中的内容被加密
改变 aa 中的内容,用md5sum 命令检查文件是否被修改
[root@localhost shell]# md5sum -c ./ding/aa.md5
aa: 失败
md5sum: 警告:1/1 生成的校验和不匹配
**同时能够追加多个文件进行加密
例如:
[root@localhost shell]# cat all.md5
ba1f2511fc30423bdbb183fe33f3dd0f aa
ba1f2511fc30423bdbb183fe33f3dd0f bb
特殊说明
1)md5sum是校验文件内容,与文件名是否相同无关;
2)md5sum是逐位校验,因此文件越大,校验时间越长。
md5校验,可能极小几率出现不一样的文件生成相同的校验和,比md5更安全的校验算法还有SHA*系列,如sha1sum/sha224sum/sha256sum/sha384sum/sha512sum等等,基本用法与md5sum命令相似,详情可经过man sha1sum查询。