md5sum是linux下的shell命令,其功能是计算检验MD5效验码。
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。主要是因为在网络环境不稳定的情况下,传输的文件很有可能会发生前后数据不一致的情况。MD5全称是报文摘要算(Message Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。一般来说,安装了linux后,就会有md5sum这个工具,直接在命令行终端直接运行。
--help 显示帮助然后退出
--version 显示版本信息然后退出
-b (--binary) 以二进制模式读入文件
-t (--text) 以文本模式读入文件
-c (--check) 对给定的文件检验MD5效验码
下面两个选项只在检验效验码时用:
--status 不显示任何输出,用返回码表示成功与否
-w (--warn) 检查输入的md5信息有没有非法的行,如果有则输出相应的信息
(1)查看字符串的md5值
user@user-PC:~$ echo "hello" | md5sum
b1946ac92492d2347c6235b4d2611184 -
user@user--PC:~$ echo "hello" | md5sum | awk '{print $1}'
b1946ac92492d2347c6235b4d2611184
user@user-PC:~$ echo "hi" | md5sum | awk '{print $1}'
764efa883dda1e11db47671c4a3bbd9e
(2)查看文件的md5值
user@user-PC:~$ echo "hello" > test1
user@user-PC:~$ md5sum test1 | awk '{print $1}'
b1946ac92492d2347c6235b4d2611184
user@user-PC:~$ echo "hello" > test2
user@user-PC:~$ md5sum test2 | awk '{print $1}'
b1946ac92492d2347c6235b4d2611184
user@user-PC:~$ echo "nihao" > test3
user@user-PC:~$ md5sum test3 | awk '{print $1}'
0a34a9366d438e6ac5ae3480d024c4ef
注意:md5检验的是文件的内容,与文件名无关。