当前位置: 首页 > news >正文

md5sum命令

md5sum命令

常用工具命令

md5sum [OPTION]... [FILE]...

md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。

语法

md5sum(选项)(参数)

选项

-b:二进制模式读取文件;
-t或--text:把输入的文件作为文本文件看待;
-c:从指定文件中读取MD5校验和,并进行校验;-c, --check=file
--status:验证成功时不输出任何信息;
-w:当校验不正确时给出警告信息。

参数

文件:指定保存着文件名和校验和的文本文件。

实例

生成一个文件insert.sql的md5值:

[root@localhost ~]# md5sum insert.sql
bcda6cb5c704664f989703ac5a88f112  insert.sql

检查文件testfile是否被修改过:

首先生成md5文件:

md5sum testfile > testfile.md5

检查:

md5sum testfile -c testfile.md5

如果文件没有变化,输出应该如下:

forsort: OK

此时,md5sum命令返回0。

如果文件发生了变化,输出应该如下:

forsort: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match

此时,md5sum命令返回非0。

这里,检查用的文件名随意。如果不想有任何输出,则md5sum testfile --status -c testfile.md5,这时候通过返回值来检测结果。

检测的时候如果检测文件非法则输出信息的选项:

md5sum -w -c testfile.md5

输出之后,文件异常输出类似如下:

md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
md5sum: testfile.md5: no properly formatted MD5 checksum lines found

这里,testfile.md5只有一行信息,但是我认为地给它多加了一个字符,导致非法。如果md5文件正常那么-w有没有都一样。

相关文章:

  • 和县机电工程学校工业机器人_和县机电工程学校2021年有哪些专业
  • gunzip命令
  • ubuntu下amd超频工具_将《2077》压至50℃!这款超频三新品百元散热器有这么神?...
  • Multiqc(转录组分析之质量评估)
  • cuda合并访问的要求_合并配置、组件注册、生命周期和异步组件
  • NGS 数据过滤之 Trimmomatic
  • js 5秒钟后执行某个函数_前端面试题: (JavaScript 第5期)
  • SRA数据库及其数据的下载
  • wps如何在目录里面打省略号_Word中如何引用?3个实用小技巧帮你工作效率翻倍!...
  • asp.net图书管理系统源码_[源码和文档分享]基于B树实现的图书管理系统
  • SRA下载到分析
  • 多个子流程_协程工作流程的实现
  • Permission denied
  • wps交叉表_WPS文字小工具大用途—交叉引用的使用方法
  • 使用Trinity进行转录组组装
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 「面试题」如何实现一个圣杯布局?
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【RocksDB】TransactionDB源码分析
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 10个确保微服务与容器安全的最佳实践
  • C++类中的特殊成员函数
  • JavaScript 奇技淫巧
  • leetcode46 Permutation 排列组合
  • magento 货币换算
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Zepto.js源码学习之二
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 突破自己的技术思维
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 正则表达式
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​ubuntu下安装kvm虚拟机
  • #### go map 底层结构 ####
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (二)构建dubbo分布式平台-平台功能导图
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (十)c52学习之旅-定时器实验
  • (轉)JSON.stringify 语法实例讲解
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • [16/N]论得趣
  • [20180224]expdp query 写法问题.txt
  • [Android]创建TabBar
  • [HarekazeCTF2019]encode_and_encode 不会编程的崽
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
  • [LeetCode]284. Peeking Iterator(C++,类,暴力)