md5值一致则说明是一模一样

 diff返回空也说明两个文件是一致的

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

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

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

特殊说明:
      
1)md5sum 是校验文件内容,与文件名是否相同无关
2)md5sum值逐位校验,所以文件越大,校验时间越长。
 
 总结: 通过md5sum来校验生成文件校验码,来发现文件传输(网络传输、复制、本地不同设备间的传输)异常造成的文件内容不一致的情况。

————————————————
版权声明:本文为CSDN博主「hxHardway」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hxHardway/article/details/78088640

————————————————

使用md5sum或者(cksum)用来比较两个文件是否相等, 所以经常用作版本的tag。

在项目中的实际应用:

1. 一般公司的项目安装包的发布/管理都会上传到指定的FTP服务器中,如果有些安装包较大,

网络传输的过程中,有可能没有百分之百传输完,最终的客户在安装部署的时候就会出现问题。

用md5的value就可以及时发现这个问题:

使用md5sum ***.jar/**war  会生成md5值,在上传到ftp服务器上面后,对比一下本地和服务器上面的md5的值是否相同,

如果不同的话,说明上传没有成功。

2. 某同事跟我说, 他把一个字段值更新到数据库数据中了, 但读取的仍然是原来的值, 让我帮看一下(说明一下, 在该系统中, 不支持数据库操作命令, 且要想把数据库导出到pc中查看, 也很麻烦)。 根据经验, 我怀疑他的描述有问题, 于是, 在修改之前, 我计算了一下数据库文件的md5值, 修改之后, 我再次计算了md5值, 结果发现, 两次的md5值是一样的, 很明显, 根本就没有更新到数据库中嘛。通过这个场景, 再次彰显了md5sum的重要用途。
————————————————
版权声明:本文为CSDN博主「a坤」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/oqqaKun1/article/details/87862264

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐