md5sum

md5sum

计算和校验文件报文摘要的工具程序

补充说明

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

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

语法

md5sum(选项)(参数)

选项

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

参数

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

实例

使用 md5sum 生成密码

另一种获取可用作密码的随机字符串的方法是计算 MD5 校验值!校验值看起来确实像是随机字符串组合在一起,我们可以用作密码。确保你的计算源是个变量,这样的话每次运行命令时生成的校验值都不一样。比如 date !date 命令 总会生成不同的输出。

[root@localhost ~]# date | md5sum
6a43f2c246cdc3e6a3592652f831d186  -

生成一个文件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有没有都一样。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/md5sum/

(0)
AuroraAurora站点维系者
上一篇 2024年 1月 3日 下午6:02
下一篇 2024年 1月 3日 下午6:02

相关推荐

  • dpkg-preconfigure

    文章目录dpkg-preconfigure补充说明语法选项参数实例 dpkg-preconfigure Debian Linux中软件包安装之前询问问题 补充说明 dpkg-pre…

    入门教程 2023年 12月 7日
  • insmod

    文章目录insmod补充说明语法选项参数实例 insmod 将给定的模块加载到内核中 补充说明 insmod命令 用于将给定的模块加载到内核中。Linux有许多功能是通过模块的方式…

    入门教程 2023年 12月 19日
  • fmt

    文章目录fmt补充说明语法选项参数 fmt 读取文件后优化处理并输出 补充说明 fmt命令 读取文件的内容,根据选项的设置对文件格式进行简单的优化处理,并将结果送到标准输出设备。 …

    入门教程 2023年 12月 14日
  • squid

    文章目录squid补充说明语法选项 squid squid服务器守护进程 补充说明 squid命令 高性能的Web客户端代理缓存服务器套件“squid”的服务器守护进程。 语法 s…

    入门教程 2024年 3月 5日
  • iptables-save

    文章目录iptables-save补充说明语法选项实例 iptables-save 备份iptables的表配置 补充说明 iptables-save命令 用于将linux内核中的…

    入门教程 2023年 12月 19日
  • dhcrelay

    文章目录dhcrelay补充说明语法选项例子 dhcrelay 使用dhcrelay命令可以提供中继DHCP和BOOTP请求 补充说明 dhcrelay命令 使用dhcrelay命…

    入门教程 2023年 12月 7日
  • indent

    文章目录indent补充说明语法选项实例 indent 格式化C语言的源文件 补充说明 indent命令 可辨识C的原始代码文件,并加以格式化,以方便程序员阅读、修改等操作。 语法…

    入门教程 2023年 12月 19日
  • Docker 更改默认存储目录

    由于安装docker,默认的存储目录在根磁盘,会导致我们在拉取镜像的时候,更目录的空间越来越小,不修改存储目录的情况下,会导致我们可用空间越来越小,最终导致根目录不够用。根目录大点…

    2021年 11月 4日
  • mkdir

    文章目录mkdir补充说明语法选项参数实例 mkdir 用来创建目录 补充说明 mkdir命令 用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径…

    入门教程 2024年 1月 3日
  • Java 变量类型

    在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value][, identifier [= value] …]…

    入门教程 2023年 3月 4日

发表回复

登录后才能评论
Translate »