使用文件Md5值检测文件完整性

 最近有客户反馈更新我组负责的产品后,一启动项目就崩溃,经检查发现是客户更新软件时,资源文件没有下载完整,导致程序无法正常进行。为了解决这个问题,博主第一次了解到文件的Md5值这个概念(技术小白还在成长中,偷笑见谅见谅),所以有了这篇博客。

        首先介绍一下几个相关概念:

        MD5算法:是计算机广泛使用的一种哈希算法,将数据(如汉字)运算为另一固定长度值,用于确保信息传输完整一致。java,C++ 等多种编程语言都有MD5的实现,可直接使用。

       文件MD5值:每个文件都可以用MD5验证程序算出一个固定的MD5值,是独一无二的。一般来说,开发方会在软件发布时预先算出文件的MD5值,如果文件被盗用,加了木马或者被篡改版权,那么它的MD5值也随之改变,也就是说我们对比文件当前的MD5值和它标准的MD5值来检验它是否正确和完整。

       查看文件MD5值:图解教程,自己去看吧 http://jingyan.baidu.com/article/c910274b9c8261cd361d2d99.html

      再说一下我的思路和具体代码吧

      我组产品包含大量音频和图片资源,MD5主要就用来检测这些资源文件的完整性。主要思路是:先计算出所有资源文件的MD5值,存到一个xml文件中,作为标准的MD5值。然后把这个xml文件放到我们的产品中,每次更新程序以后,算出资源文件的MD5值,同样存到xml文件中。对比两个xml文件,并打印出发生变化的文件名。

     下面是关键代码:

      

     储存和对比的代码就不贴出来了,相信大家都会的

猜你喜欢

转载自blog.csdn.net/qq_28657577/article/details/81536912