目录:

(一)MD5介绍

(二)md5sum命令

(三)实战演练

(一)MD5介绍

(1.1)MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又名:摘要算法、哈希算法),主流编程语言普遍已由MD5实现。将数据运算为另一固定长度值(十六进制的为32位),是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5的作用是大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。

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

(二)md5sum命令

(2.1)md5sum命令用于生成和校验文件的md5值,它会逐位对文件的内容进行校验,校验的是文件的内容,与文件名无关,即文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是32位(128/4)的进制值。md5校验,有很小的概率不同的文件生成的md5可能相同,比md5更安全的校验算法还有SHA系列的。在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5一致的话,则表示文件传输无异常,否则说明文件在传输过程中未正确传输。

(2.2)用法:md5sum [选项] [文件],显示或检查MD5(128-bit)校验和,若没有文件选项,或者文件处为“-”,则从标准输入读取。校验和会按照RFC 1321规范生成,当进行检查时,给出的输入格式应该和程序的输出样板格式相同,默认的输出模式时输出一行校验和校验结果,并有一个字符来表示文件类型(“*”代表二进制,“ ”空格代表纯文本),并同时显示每个文件的名称。

-b,--binary:以二进制模式读取

-c,--check:从文件中读取MD5的校验值并予以检查

-t,--text:以纯文本模式读取(默认)

以下三个选项在进行校验时非常有用:

--quiet:不为校验成功的文件输出OK

--status:不输出任何内容,使用退出状态号显示成功

-w,--warn:对格式不正确的校验和进行警告

--strict with,--check:exit non-zero for any invalid input

--help:显示此帮助信息并退出

--version:显示版本信息并退出

(2.3)我们可以使用--help查看帮助信息

# md5sum --help

(三)实战演练

(3.1)获取字符串的MD5值,字符串“hello”的MD5,我们使用md5sum用来显示或检查MD5(128-bit)校验和,若没有文件选项,或者文件出为“-”,则从标准输入读取,cut用来从标准输入或文本文件中剪切列或域,剪切文本可以将之粘贴到一个文本文件,-d指定域空格和tab键不同的域分隔符,-f1表示第一个域。

# echo -n "hello" | md5sum | cut -d ' ' -f1---获取字符串的MD5值

(3.2)获取文件的MD5值,我们使用了从download.qt.io下载的源码包qt-4.8.6,可以使用下面的命令从官网下载,然后再计算出文件的MD5值。

# wget http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz ---将软件从官网下载下来

# md5sum qt-everywhere-opensource-src-4.8.6.tar.gz | cut -d '' -f1---获取qt-4.8.6源码包的MD5值

(3.3)使用MD5校验iso文件,进行md5的校验我们需要首先知道文件的md5值,一般来说文件的下载地址会为我们提供检验用的md5文件,一般来说这些文件使用如下的命令生成的,接着把qt-everywhere-opensource-src-4.8.6.tar.gz和其验证文件qt-everywhere-opensource-src-4.8.6.tar.gz.md5放到同一目录下(图2-5),然后使用下面的命令进行检验(图2-6)。

# md5sum qt-everywhere-opensource-src-4.8.6.tar.gz > qt-everywhere-opensource-src-4.8.6.tar.gz.md5---使用qt-4.8.6的源码包生成一个md5文件

# mkdir md5test---创建一个md5test文件

# mv qt-everywhere-opensource-src-4.8.6.tar.gz qt-everywhere-opensource-src-4.8.6.tar.gz.md5 md5test/---将qt-4.8.6的源码包和验证文件放到统一目录下

# md5sum -c qt-everywhere-opensource-src-4.8.6.tar.gz.md5---使用md5sum检验下载文件的完整性

(3.4)当然我们下载的文件,用md5进行检验是检查下载文件的完整性,自然不能用自己生成的md5校验文件,一般来说文件的下载网站会为我们提供检验用的md5文件,其中qt-everywhere-opensource-src-4.8.6.tar.gz的md5校验文件可以从http://download.qt.io/archive/qt/4.8/4.8.6/md5sums-4.8.6 来下载,我们可以查看md5sums-4.8.6中的内容。

# wget http://download.qt.io/archive/qt/4.8/4.8.6/md5sums-4.8.6 ---下载校验文件

# cat md5sums-4.8.6---查看校验文件中的内容

(3.5)最后我们将qt-everywhere-opensource-src-4.8.6.tar.gz软件和md5sums-4.8.6校验文件都放置在/root/家目录中,然后进行文件的校验。此时我们发现第一个文件是确定存在的,其他的由于没有下载显示打开失败,因此校验有效。

# md5sum -c md5sums-4.8.6

—————— 本文至此结束,感谢阅读 ——————

linux 目录md5校验,【我的Linux,我做主!】浅谈MD5校验文件完整一致性相关推荐

  1. c语言实现md5比java难_浅谈md5弱类型比较和强碰撞

    前言 在CTF中,md5的题目太常见了,虽然有很多这方面的文章,但相对来说比较零散,这里主要将自己学习和比赛时遇到的md5弱类型和强碰撞的题目从浅到深地梳理一下. 本文涉及知识点实操练习:浅谈md5弱 ...

  2. linux目录都是什么意思,linux中的基本的目录结构都是什么意思,初学者都应该有印象-tmp是什么文件...

    /bin 这个目录存放一些经常使用的命令 /boot 这个目录存放的是启动linux时使用的一些核心文件,包括一些连接文件和镜像文件 /dev 这个目录是存放linux的外部设备,在linux中访问设 ...

  3. linux 目录下创建子目录,在 Linux 下用 mkdir 命令来创建目录和子目录

    了解了用 ls 命令在目录中列出条目后,现在我们要学习在 Linux 系统下创建目录.在 Linux 下,我们可以使用 mkdir 命令.Mkdir 是"make directory&quo ...

  4. linux 目录的粘滞位,Linux浅谈SUID,SGID,Sticky粘滞位对目录以及文件的相关作用

    我们知道在Linux中,root管理员的权限是很大的,能够支持执行绝大部分程序以及命令进而对文件进行相对应的修改,写入.当然这些作用只能体现在root管理员上.但是有一个现象,有些普通用户是可以通过p ...

  5. linux目录搜索ip的命令,Linux常用命令全集 详细用法

    内容较长,建议先看目录 目录 Linux常用命令全集 详细用法 基础 相关介绍 控制台切换 快捷键 查看帮助 查看系统相关信息 查看ip地址 关机重启 目录与文件 相关介绍 查看文件 cat命令 le ...

  6. linux目录默认权限是什么,linux文件目录默认权限(详解)

    1.文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw) 2.由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwxrwxrwx) 查看默认权限需要使用umas ...

  7. wordpress linux 目录,快速搭建WordPress(Linux)

    作者:彭济 环境要求 一.配置LAMP(Linux+Apache+Mysql+PHP) 1.安装apache sudo apt-get install apache2 //安装apache2 apac ...

  8. 如果linux目录中没有srv,了解linux系统目录,proc,root,sbin,selinux,srv!

    linux小白到大神的成长之路:了解linux系统目录,proc,root,sbin,selinux,srv! 本经验由宗龙龙原创,全文共600多字,阅读需要14分钟,如果文中存在错误,还请大家多多指 ...

  9. Linux目录的可写意味着,Linux权限分析 - osc_h5427nyq的个人空间 - OSCHINA - 中文开源技术交流社区...

    在学习Linux的权限之前,我们先来理解几个概念: 可读,可写 .可执行 Linux的文件和目录有以下三种方式: r  .w .x:可读,可写 .可执行 r-可读(read) w-可写(write) ...

最新文章

  1. java jdbc 工具_实现JDBC的工具类
  2. 关联查询的resultMap写法示例
  3. 阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
  4. 常用开发环境搭建配置教程(OneStall)
  5. DELPHI串口通讯编程
  6. java3d曲面图开发_web三维图表的开发
  7. 差分电荷密度怎么画_科学网差分电荷密度图、电荷局域密度图(ELF)的画
  8. 中概股信任危机?美证监会主席直言不要购买中概股股票
  9. 随想录(搭建自己嵌入式项目的编译系统)
  10. Opencv之Vs编译
  11. 学校为什么要单位接收函_学校让我签三方,居然是因为···
  12. Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis
  13. OCR身份证识别简单算法流程
  14. PS 宏使用方法记录
  15. 网线传输速度测试_教你局域网中怎样对网线进行全面测试
  16. 知名IB学校ib英文书单合集
  17. RTC月度小报5月 |教育aPaaS灵动课堂升级、抢先体验VUE版 Agora Web SDK、声网Agora与HTC达成合作
  18. element 配置全局样式 例如:为项目中所有el-dialog弹窗添加分割线
  19. JDK和KRE安装及其区别
  20. 一道传统特色小吃让她萌生创业想法,一天能挣800元

热门文章

  1. 将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂)
  2. my123.com的分析以及专杀工具
  3. GitHub上的开源复刻:暗黑破坏神2
  4. usdt充值 btc网络(区块充值)
  5. 职称计算机考试模拟题word2007,职称计算机考试模拟题题库(word版,可打印).doc...
  6. cf游戏介绍模板html,《穿越火线CF》游戏界面设置详细介绍
  7. 移动互联网,是破坏性创新吗?
  8. emlog_toolkit.php,博客搬家:Wp到Emlog实战经验分享
  9. 图片识别vue-cropper
  10. 什么叫做形态学图像处理_图像处理基本算法-形态学