Linux下使用md5sum计算和检验MD5码

来源:互联网 发布:快走丝编程用什么软件 编辑:程序博客网 时间:2024/05/20 00:12
CSDN GitHub Linux下使用md5sum计算和检验MD5码 AderXCoding/system/md5sum


知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处

1 md5介绍


在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况. 这种情况在网络这种相对更不稳定的环境中,容易出现. 那么校验文件的完整性,也是势在必行的

2 md5sum命令


md5sum命令用于生成和校验文件的md5值. 它会逐位对文件的内容进行校验. 是文件的内容, 与文件名无关, 也就是文件内容相同, 其md5值相同. md5值是一个128位的二进制数据, 转换成16进制则是32(128/4)位的进制值.

md5校验, 有很小的概率不同的文件生成的md5可能相同.比md5更安全的校验算法还有SHA*系列的.

在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5 一致的话,则表示文件传输无异常。否则说明文件在传输过程中未正确传输。

用法:md5sum [选项]... [文件]...显示或检查 MD5(128-bit) 校验和。若没有文件选项,或者文件处为"-",则从标准输入读取。-b, --binary 以二进制模式读取-c, --check 从文件中读取MD5 的校验值并予以检查-t, --text 以纯文本模式读取(默认)以下三个选项在进行校验时非常有用:--quiet 不为校验成功的文件输出OK--status 不输出任何内容,使用退出状态号显示成功-w, --warn 对格式不准确的校验和行进行警告--strict with --check, exit non-zero for any invalid input--help 显示此帮助信息并退出--version 显示版本信息并退出校验和会按照RFC 1321 规范生成. 当进行检查时, 给出的输入格式应该和程序的输出样板格式相同. 默认的输出模式时输出一行校验和的校验结果, 并有一个字符来表示文件类型("*"代表二进制, " "代表纯文本), 并同时显示每个文件的名称.

可以使用md5sum --help查看其帮助信息

使用<code>md5sum --help</code>查看其帮助信息

3 示例


  • 获取字符串的MD5值 :

字符串”hello”的MD5:

echo -n 'hello' | md5sum | cut -d ' ' -f1

得到的MD5值

获取字符串"hello"的MD5值

5d41402abc4b2a76b9719d911017c592
命令解释 描述 md5sum 显示或检查 MD5(128-bit) 校验和, 若没有文件选项,或者文件处为”-“,则从标准输入读取 echo -n 输出信息, 但是不打印换行符 cut cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件, -d指定与空格和tab键不同的域分隔符. -f1表示第一个域
  • 获取文件的MD5值:

我们使用了从download.qt.io下载的qt-4.8.6的源码包, 可以使用下面的命令卸载

wget http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz

检验文件qt-everywhere-opensource-src-4.8.6.tar.gzMD5

md5sum qt-everywhere-opensource-src-4.8.6.tar.gz | cut -d ' ' -f1

获取文件的MD5值

得到的MD5值:

ee3d6e2ca498bc7685b7f17cdb5f2eea
  • 使用MD5校验iso文件

进行md5的校对我们需要首先知道文件的md5值, 一般来说文件的下载地址会为我们提供检验用的md5文件, 一般来说这些文件是用如下的命令生成的

md5sum qt-everywhere-opensource-src-4.8.6.tar.gz >qt-everywhere-opensource-src-4.8.6.tar.gz.md5

注意qt-everywhere-opensource-src-4.8.6.tar.gz.md5的内容是:

2edbe4d6c2eff33ef91732602f3518eb  qt-everywhere-opensource-src-4.8.6.tar.gz

把qt-everywhere-opensource-src-4.8.6.tar.gz和其验证文件qt-everywhere-opensource-src-4.8.6.tar.gz.md5放到同一目录下, 然后使用用下面的命令进行检验

md5sum -c qt-everywhere-opensource-src-4.8.6.tar.gz.md5

当然我们下载的文件, 用md5进行检验是检查下载文件的完整性, 自然不能用自己生成的md5校验文件, 一般来说文件的下载网站会为我们提供检验用的md5文件.

qt-everywhere-opensource-src-4.8.6.tar.gzmd5文件校验文件可以从http://download.qt.io/archive/qt/4.8/4.8.6/md5sums-4.8.6来下载

wget http://download.qt.io/archive/qt/4.8/4.8.6/md5sums-4.8.6

md5sums-4.8.6内容如下

其内容如下

2edbe4d6c2eff33ef91732602f3518eb  qt-everywhere-opensource-src-4.8.6.tar.gz61f7d0ebe900ed3fb64036cfdca55975  qt-everywhere-opensource-src-4.8.6.zip7b9ab1be155c87e9f9dfa9e304ee1abf  qt-opensource-mac-4.8.6-debug-libs.dmg9954001dcd8f6446be2b418775140e3c  qt-opensource-mac-4.8.6.dmg5cd26ef7398a000b7de15712a1dcfe4e  qt-opensource-windows-x86-mingw482-4.8.6.exe8d6f489c8550792314f617ae80daa7e4  qt-opensource-windows-x86-vs2008-4.8.6.exe4c6e66fab7cb4d0728248c9c1ee630c5  qt-opensource-windows-x86-vs2010-4.8.6.exe

那么可以使用如下命令进行校验

md5sum -c md5sums-4.8.6

md5sum-c-md5sums-4.8.6

1 0
原创粉丝点击