md5sum命令常用工具命令

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

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

语法

md5sum(选项)(参数)

选项

-b:二进制模式读取文件;

-t或–text:把输入的文件作为文本文件看待;

-c:从指定文件中读取MD5校验和,并进行校验;

–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有没有都一样。

原文地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MD5是一种常用的哈希算法,在Linux中,可以通过md5sum命令来计算文件的MD5值。如果要实现MD5的简化版本,可以采取以下步骤: 1. 首先,需要获取文件的二进制数据,可以使用Linux系统提供的文件操作函数来读取文件内容,并将其保存为一个字符数组。 2. 接下来,需要对字符数组进行填充,使其长度为512的倍数。填充的方式可以采用在原始数据的末尾添加一个'1',然后再添加足够数量的'0',直到满足长度要求。 3. 将填充后的字符数组分割成若干个512位的分组。 4. 初始化四个32位的寄存器A、B、C、D,分别设置初始值为固定常量。 5. 对每个分组进行处理,通过迭代计算来更新寄存器的值。在每一轮迭代中,根据当前分组中的操作数和寄存器的值,更新寄存器。 6. 经过全部分组的处理后,将寄存器的值连接起来,得到最终的MD5值。 需要注意的是,简化实现的MD5算法并不考虑一些优化和安全措施,所以计算出的MD5值可能不具备强抗碰撞能力。此外,为了实现完整的MD5算法,还需要实现一些辅助函数和逻辑,如置换函数、循环移位等。 总而言之,简化实现的MD5算法可以通过读取文件、填充数据、分组处理和寄存器更新来计算MD5值。然而,由于MD5算法的复杂性和安全性要求,建议使用已经成熟的MD5库或命令工具来计算文件的MD5值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值