md5sum [OPTION]... [FILE]...
[功能]
linux 下 shell命令 ,制作md5码 也用于软件的md5校验
[描述]
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。
在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
选项:
-b 或 --binary :把输入文件作为二进制文件看待。 -t 或 --text :把输入的文件作为文本文件看待(默认)。 -c 或 --check :用来从文件中读取md5信息检查文件的一致性。(不细说了参见info) --status :这个选项和check一起使用,在check的时候,不输出,而是根据返回值表示检查结果。 -w 或 --warn :在check的时候,检查输入的md5信息又没有非法的行,如果有则输出相应信息。 |
[举例]
1>生成一个文件testfile的md5值:
$ md5sum testfile 输入之后,输出类似如下: 661b2da42057527f30cff69fe466ebeb testfile 这里,如果我拷贝一份testfile成testfile.copy那么生成的md5值是一样的,但是我如果修改了testfile.copy的内容,那么就不一样了,如果再把修改的内容恢复回去,再保存testfile.copy那么生成的md5值又一样了。注意,可以输入多个文件,分别生成每个文件的md5,但是目录不能是输入文件。 |
2>把testfile做为二进制文件生成md5值:
$ md5sum -b testfile 输入之后,输出如下: 661b2da42057527f30cff69fe466ebeb *testfile 这里和前面的结果一样,不过文件名称前面有一个testfile. |
3>检查文件testfile是否被修改过:
1)首先生成md5文件: $md5sum testfile >testfile.md5 2)检查: $md5sum testfile -c testfile.md5 如果文件没有变化,输出应该如下: forsort: OK 此时,md5sum命令返回0。 如果文件发生了变化,输出应该如下: 检测的时候如果检测文件非法则输出信息的选项: |